Commit Graph

2160 Commits (0c2537bb2418f3c66fd060b3852e90df43adbd27)

Author SHA1 Message Date
Robert Adams 5432180027 BulletSim: reorganize motor code a little to pull together common functions.
Add BSFMotor.
2013-01-04 17:06:50 -08:00
Robert Adams 44492b3a49 BulletSim: add comments to force and impulse setting functions
so it is clear what Bullet is actually doing with the set values.
2013-01-04 17:06:49 -08:00
Robert Adams 92a6958b6d BulletSim: fix problem where pre-step actions would not replaced
by new registrations thus causing multiple instances of an action.
2013-01-04 17:06:49 -08:00
Robert Adams 2eda385f5e BulletSim: add ResetBroadphasePool and ResetConstraintSolver diagnostic
functions. If values set from console, the functions are called. Looking
for why the collision pools fill up with unnecessary stuff.
2013-01-04 17:06:48 -08:00
UbitUmarov c961cfe19e bug fix, cleanup... 2013-01-03 21:53:21 +00:00
UbitUmarov a504704071 i try to fix avatar orientation in some cases.. 2013-01-02 21:59:19 +00:00
UbitUmarov be6b6bf191 add a lock to CollisionEventsThisFrame 2013-01-02 20:06:57 +00:00
UbitUmarov 7980a1d849 *TEST* avatar unscripted sit. Some guessing/automation 2013-01-02 19:39:46 +00:00
Melanie 7943c8d11c Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-01-02 11:52:37 +00:00
Robert Adams aa236b2020 BulletSim: add parameter to have Bullet output performance statistics
every so many frames. Default to off.
2013-01-01 17:27:34 -08:00
Robert Adams b14b65ea95 BulletSim: move selection of the unmanaged Bullet DLL from BSPlugin
into the unmanaged Bullet interface class.
2013-01-01 17:27:33 -08:00
Robert Adams 9d840fd2ee BulletSim: move over and port the interface for BulletXNA.
Copied BulletSNPlugin.BulletSimAPI to a new
BulletSPlugin.BSAPIXNA.cs and then modifyed the latter to
comply with the BSAPITemplate definition. Not totally debugged
but the code is all there for an INI variable to select either
unmanaged C++ Bullet or the C# version of Bullet.
2013-01-01 17:27:33 -08:00
Robert Adams 0662d109c2 BulletSim: fix line endings. 2013-01-01 17:27:33 -08:00
Robert Adams 04132d3af4 BulletSim: subclass Bullet[World|Body|Shape|Constraint] for unmanaged
to have pointers and managed to have objects.
Initial paste of XNA code. Commented out.
2013-01-01 17:27:32 -08:00
Robert Adams db3b6e8921 BulletSim: remove unused unmanaged memory reference functions from BSAPITemplate. 2012-12-31 19:57:26 -08:00
Robert Adams 6988b5ceaf BulletSim: remove rigid body contruction functions from BSAPITemplate that relied on prebuilt construction info structures. 2012-12-31 19:57:25 -08:00
Robert Adams 9396ccc078 BulletSim: eliminate the use of the unmanaged HeightMapInfo structure.
Remove all related calls from the unmanaged and BSAPITemplate interfaces.
Update DLLs and SOs to include the version without HeightMapInfo structures.
2012-12-31 19:57:25 -08:00
Robert Adams 3d0fc70864 BulletSim: complete movement of BulletSimAPI functions to BSAPITemplate.
Update BulletSim DLLs and SOs with simplier step function interface.
2012-12-31 19:57:24 -08:00
Robert Adams c2a7af18b6 BulletSim: nearly complete in conversion from BulletSimAPI to BSAPITemplate. Only initialization and debug fuctions left. 2012-12-31 19:57:23 -08:00
Robert Adams 5379d6d112 BulletSim: remove all the debug printing of pointer formatting (.ToString(X)) and replace it with a method on BulletBody, BulletShape, ... 2012-12-31 19:57:22 -08:00
Robert Adams 9218748321 BulletSim: another round of conversion: dynamics world and collision object functions. 2012-12-31 19:57:22 -08:00
Robert Adams 9fd0e1b080 BulletSim: add the implementation files for the two versions of Bullet:
unmanaged (C++) and managed (C#).
2012-12-31 19:57:21 -08:00
Robert Adams 48f718f39f BulletSim: first round of conversion from direct BulletSimAPI interfacing by BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first. 2012-12-31 19:57:21 -08:00
Robert Adams 203588e3c0 BulletSim: change physical data structures to classes. Add default
instantiations for PhysBody and PhysShape when BSPhysObject is created
to account for them being classes and not structures.
Update TODO list.
2012-12-31 19:57:21 -08:00
Melanie 7e98dfd70b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-12-30 03:43:51 +00:00
Robert Adams 28a8949b9f BulletSim: remove check for small motor movement because, while it
did the right thing for stopping (speed reducing to zero), it prevented
movement from starting (speed increasing from zero). Will revisit
when the generalize PID motor is debugged.
2012-12-29 10:19:47 -08:00
Robert Adams 0538096fa3 BulletSim: an 'if' to suppress multiple setting of avatar orientation.
Looks like the viewer bombards the server with avatar orientation
information (we're talking several hundred a second) when the avatar
is being turned or when walking. This change just reduces the number
of 'set' calls into unmanaged code.
2012-12-29 08:32:57 -08:00
Robert Adams db6c0363f0 BulletSim: tweeking avatar capsule code in an attempt to have
asymmetrical avatar capsule work now that rotation is being passed
from the simulator. Turns out the Bullet capsule is just not very
functional: it doesn't scale properly, the implementation only half
does asymmetry and, in general, is hard to work with.
Avatar shape is about what it was before these changes.
Added initial data structures for avatar shape mesh.
2012-12-29 08:03:57 -08:00
Robert Adams 7266eeca6e BulletSim: add 'AvatarAlwaysRunFactor' parameter and use in setTargetVelocity
to implement the 'always run' feature.
2012-12-28 12:01:57 -08:00
Robert Adams 70e0a86601 BulletSim: fix problem of avatars appearing to walk through walls
by moving the movement motor to a pre-step action and out of its
questionable previous home in UpdateProperties.
2012-12-28 11:56:07 -08:00
Melanie 3ab1bd0403 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-12-28 08:32:34 +00:00
Robert Adams 1f6aaad0b5 BulletSim: correct collision mask definition for linkset children.
Remove unused code. Add comments and TODOs.
2012-12-27 22:12:28 -08:00
Robert Adams 422f0fd6ec BulletSim: fix physical object not interacting with static objects.
Another instance of the underlying Bullet doing, ah, helpful things
when items are added to the world.
2012-12-27 22:12:28 -08:00
Robert Adams c1e7539c77 BulletSim: Parameterize nominal frame rate (55) and add parameters to dynamially turn on/off detailed, unmanaged data dumping of prims and vehicles. 2012-12-27 22:12:28 -08:00
Robert Adams 7a5f598399 BulletSim: move logic for IsColliding, CollidingGround and CollidingObj from individual sub-classes and up to parent BSPhysObject class. 2012-12-27 22:12:27 -08:00
Robert Adams e57c0e6731 BulletSim: fix buoyancy so it's properly set by a script when an
object is selected.
Update TODO list.
2012-12-27 22:12:26 -08:00
Robert Adams 7230990679 BulletSim: fix odd code that wasn't really recomputing the mass of a
rebuilt linkset. I was burnt by making get/set methods with side
effects. I should know better.
2012-12-27 22:12:26 -08:00
Robert Adams f3baed5827 BulletSim: add physical parameter min/max constants in BSParam. I just don't like raw numbers scattered around the code. 2012-12-27 22:12:25 -08:00
Robert Adams e98e223927 BulletSim: complete applyImpulse function in BSCharacter (like I said
I did last time).
2012-12-27 22:12:25 -08:00
Melanie 258588d5b5 Merge branch 'master' into careminster 2012-12-26 01:16:08 +00:00
Robert Adams bbc5a5089f BulletSim: Rename some of the interface structures (BulletWorld, ...)
to get ready for...
Start creation of BulletAPITemplate. This defines the abstract interface
functions. Following commits will move over to the new interface.
This will enable switching between the managed and unmanaged version of
Bullet.
2012-12-24 20:18:06 -08:00
Robert Adams 4759a8acee BulletSim: Default avatar density changed to 3.5 which is WAY closer
to the SL value.
Fixed frictin values for physical materials which were just wrong
which caused things that should have slipped to not.
2012-12-24 20:16:10 -08:00
Robert Adams 80cee1b85a BulletSim: Fix single physical prim reporting its mass as zero.
Properly return root mass as mass of just the root prim rather
than the mass of the linkset. SOG has the logic to add the masses
together to get the linkset mass.
Update TODO list.
2012-12-24 08:56:02 -08:00
teravus 9318870607 * Update BulletSimN terrain implementation to default to Heightfield, it's less CPU intensive. 2012-12-23 16:17:18 -05:00
teravus 92e4f9f412 * Initial commit of BulletSimN (BulletSNPlugin). Purely C# implementation of BulletSim. This is designed to be /as close as possible/ to the BulletSim plugin while still being entirely in the managed space to make keeping it up to date easy as possible (no thinking work). This implementation is /slower/ then the c++ version just because it's fully managed, so it's not appropriate for huge sims, but it will run small ones OK. At the moment, it supports all known features of BulletSim. Think of it like.. POS but everything works. To use this plugin, set the physics plugin to BulletSimN. 2012-12-23 15:21:25 -05:00
Melanie 6eeb4cb3f7 Revert "Whitespace change to trigger ircbot"
This reverts commit ca30559b05.
2012-12-23 18:10:34 +00:00
Melanie ca30559b05 Whitespace change to trigger ircbot 2012-12-23 18:07:32 +00:00
Melanie a126097d6b Merge branch 'master' into careminster 2012-12-23 18:05:17 +00:00
Robert Adams 30807b81cc BulletSim: modify avatar motor code to make falling movement better. Clean up some usages. Disable motor when done. 2012-12-22 17:09:40 -08:00
Robert Adams 144322a7c9 BulletSim: remove post step one-time taints (doesn't make any sense). Rename pre and post step event invocation routines to Trigger* to be consistant. Remove old, unused code. 2012-12-22 17:07:52 -08:00
Robert Adams 16e49035f7 BulletSim: add Enabled parameter and operation to motors. 2012-12-22 17:06:13 -08:00
Robert Adams 5b2cbc0ae6 BulletSim: remove all special vehicle code from BSScene. Replace per-frame updates for vehicles with per-frame action registration. One fewer special case. 2012-12-21 23:24:31 -08:00
Robert Adams a54392d7cc BulletSim: remove the movement decay while flying. Made flying slow down over time. 2012-12-21 23:05:05 -08:00
Robert Adams 37fb691ba5 BulletSim: Fix llApplyImpulse so it works after the first impulse. The problem was Bullet deactivating the object between the pushes (when, as far as the physics engine is concerned, it isn't moving). 2012-12-21 23:03:27 -08:00
Robert Adams 3d659fe97d BulletSim: add BSPhysObject code to manage registrations of preStep events. Use same to implement setForce and setTorque so the values are restored at the beginning of each step (since Bullet zeros forces applied last step). Simplify implementation of AddForce and AddTorque by relying on the addition of forces in Bullet. 2012-12-21 17:27:53 -08:00
Robert Adams 6dbf9c8ed4 BulletSim: repair vehicle problems introduced in previous 'improvements'. Fix line endings in BSParams. 2012-12-21 15:21:32 -08:00
Melanie 569f39e124 Merge branch 'master' into careminster 2012-12-21 22:13:41 +00:00
Robert Adams ae4d932e7f BulletSim: Move all the parameter variables, tables and get and fetch logic to a separate, static class for easier addition and to remove all that bulk from the BSScene class. 2012-12-21 13:35:44 -08:00
Robert Adams 2e3e95e846 BulletSim: small fix to avatar movement motor use which keeps avatar from flying up forever. This doesn't fix the overall problem but keeps avatar flying from being totally unusable. 2012-12-21 10:04:12 -08:00
Robert Adams 8c99f63239 BulletSim: avatar movement smoothed with motor that modifies avatar velocity to target velocity. Fails in incorporating physical world effects (gravity) so avatar doesn't fly correctly. 2012-12-21 10:00:03 -08:00
Robert Adams b4f8a05e9a BulletSim: Better detail logging of VMotor actions. 2012-12-21 09:56:31 -08:00
Robert Adams 750492796d BulletSim: begin movement of parameters from pinned memory block to variables all in managed code. Add note to TODO list to remember to do the rest. Other updates to TODO list. 2012-12-21 09:55:20 -08:00
Robert Adams 9d2f569d60 BulletSim: fix incorrectly defined property changed flag. 2012-12-20 16:06:52 -08:00
Robert Adams e522bdb96a BulletSim: Check for unspecified TimeScale in BSVMotor and don't scale if not specified. Add test dump routine. Don'e zero current and target values when error goes to zero as the values could be used externally to store the actual target values, etc. 2012-12-20 16:05:33 -08:00
Robert Adams a5b2539cf9 BulletSim: replace use of funky nullable values for vehicle property update control (m_known* stuff). Bitmaps will be quicker to test and to clear. 2012-12-20 10:32:33 -08:00
Robert Adams e73dac4deb BulletSim: angularMotorUp working again (seems a little slow as it takes longer than timescale to correct, but getting better). Disabled angularDeflection (need to resolve interactions between angular corrections). Update TODO list. 2012-12-20 10:19:16 -08:00
Robert Adams b7ad44e3a6 BulletSim: reorganize motor step code to separate error computation allowing subclass for PID error correction. 2012-12-20 08:35:36 -08:00
Robert Adams a9b9c0f035 BulletSim: improve angularVerticalAttraction calculation to compute angular correction velocity rather than estimating correction (excuse to use trig functions). 2012-12-18 23:05:59 -08:00
Robert Adams 7b84bcfbb8 BulletSim: initial implementation of a PID motor. Not hooked up yet. 2012-12-18 22:59:59 -08:00
Robert Adams cf89e29ac3 BulletSim: comments and TODO list update 2012-12-18 19:25:51 -08:00
teravus 29cdf0f3dd * Merges BulletSim Updates to BulletSimN(BulletSNPlugin) 2012-12-18 15:00:10 -05:00
Robert Adams 225b564573 BulletSim: scale the force for external AddForce by the simulation
step time so it will be applied completely the next step. The internal
AddForce routine does not scale the force.
2012-12-26 10:25:50 -08:00
Robert Adams d1ede1df3a BulletSim: make llBuoyancy work. For some reason, Bullet resets an
object's individual gravity to the world gravity when the object
is added to the physical world.
2012-12-25 23:55:25 -08:00
Robert Adams 5f71ee57c4 BulletSim: stop avatar from sliding VERY slowly after walking by
only zeroing the movement motor in the UpdateProperties routine.
2012-12-25 23:54:10 -08:00
Melanie 79bdf464d3 Merge branch 'avination' into careminster 2012-12-18 09:48:12 +00:00
Melanie caea7601cb Merge branch 'master' into careminster 2012-12-18 09:45:40 +00:00
Melanie b9939a46a1 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2012-12-18 09:44:10 +00:00
UbitUmarov ed9cb18cf0 missing file 2012-12-18 00:54:40 +00:00
UbitUmarov f87af983f3 fix 2012-12-18 00:50:36 +00:00
UbitUmarov 9089bc7e37 some clean up/fix 2012-12-17 22:11:29 +00:00
Robert Adams 8653ea93b2 BulletSim: apply friction to linear and angular motion before returning advanced motor value. This seems to be the problem with BulletSim vehicles turning too quickly. Also removed the configuration parameter that controlled the timestep scaling kludge for angular velocity that was added to research the question of quick turning. 2012-12-17 13:51:39 -08:00
Robert Adams 11532a4390 BulletSim: fix vehicles going underground when unsat. Problem was that, when doing unsit, the order of operations on the prims and the vehicle is very chaotic and not in a good order so the root prim was being left physical and thus it fell for a bit. Also changed default of velocity scaling to be closer to the movement standard. 2012-12-17 13:22:04 -08:00
Robert Adams 021623a17d BulletSim: fix vehicles being shot in the air at border crossings because of mis-application of correction to postion for below groundness. 2012-12-16 22:31:22 -08:00
Robert Adams 2b8efa24dd BulletSim: add parameter to UpdateProperties call into the linkset so changes from the physics engine can be differentiated from changes made by the user. This eliminates a linkset rebuild loop. Also add logic to not rebuild or freak out when the object/linkset crosses a terrain boundry. 2012-12-16 21:19:13 -08:00
Robert Adams 3f2aaffd4d BulletSim: add even more to the TODO list. 2012-12-16 21:19:13 -08:00
Robert Adams 7ed860d3ac BulletSim: add check for border crossing in character position sanity check. 2012-12-16 21:19:12 -08:00
Robert Adams 4cbc5082ff BulletSim: refactor to combine common terrain height testing code. Add function to test if a position is over known terrain. 2012-12-16 21:19:12 -08:00
Robert Adams f3b1efd889 BulletSim: remove some errors on shutdown by moving terrain destruction until after physical object destruction. TerrainManager also made disposable and that feature used. 2012-12-16 21:19:11 -08:00
Robert Adams ace1f1e931 BulletSim: rip out old code for linkset child position fetching. BulletSim doesn't need to do that bookkeeping because SOG/SOP already does it. 2012-12-16 21:19:10 -08:00
UbitUmarov 9d1a6558d9 *TESTP unscripted sit: missing files 2012-12-17 01:43:16 +00:00
UbitUmarov d003aa2e7b * TEST * unscripted sit 2012-12-17 01:40:48 +00:00
Melanie 0a876a305c Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2012-12-16 21:19:30 +00:00
Robert Adams 664dad53dd BulletSim: Add more to the TODO list. Clean up and improve some comments. 2012-12-13 23:08:01 -08:00
Robert Adams 469c6c000a Return the last set targetVelocity rather than the current velocity as the default action made available in PhysicsActor.TargetVelocity. Doesn't change any physics operation but makes DSG work better as the targetVelocity value does not keep moving around. 2012-12-13 16:32:25 -08:00
Robert Adams 31d3952477 BulletSim: fix problem with continuious rebuilding of physical linksets. This caused movement problems and large prim vehicles to take up a LOT of simulation time. 2012-12-13 16:32:19 -08:00
Robert Adams 60950bfab5 BulletSim: correct line endings in new BulletSimData.cs file. 2012-12-13 16:32:12 -08:00
Robert Adams 3b2b785a46 BulletSim: Add 'BulletSimData' which separates structures created
for the operation of BulletSim and those defintiions/structures defined
so they can be used in the unmanaged world.
Consolidate setting of collision flags so implementation is not scattered.
2012-12-13 16:32:06 -08:00
Robert Adams 9e0dd9952b BulletSim: remove extra linkset rebuilds. 2012-12-13 16:32:00 -08:00
Robert Adams e1814aa827 BulletSim: fix problem of avatar's floating off the ground after unsitting. Reworked size/scale logic so physical scale is kept in Bullet and physObject scale is the preferred size -- usually same as size but avatars are computed differently. 2012-12-12 16:51:43 -08:00
Robert Adams 6f1f7f0206 BulletSim: non-functional commenting and reorganization of material attribute specifications. 2012-12-12 16:51:36 -08:00
Robert Adams 7bb5613dc6 BulletSim: updates and rearrangement of the TODO list. 2012-12-12 16:51:29 -08:00
Robert Adams bb6eeb5429 BulletSim: do not return the current velocity for targetVelocity. 2012-12-12 11:01:36 -08:00
UbitUmarov 71fc9f29f9 make ubitODE ignore X and Y rotation components on avatar rotations 2012-12-11 22:53:24 +00:00
Robert Adams a082ce9da7 BulletSim: fix crash caused by the creation of a linkset child that is under the terrain. Users can sure find some interesting corner conditions. 2012-12-11 14:27:09 -08:00
Robert Adams d4e0e98c00 BulletSim: protect character property setting to remove crash from taints setting properties after the destroy character taint. 2012-12-11 13:54:26 -08:00
Robert Adams 63099184db BulletSim: protect prim property setting to remove crash from taints setting properties after the destroy object taint has happened. 2012-12-11 13:42:23 -08:00
UbitUmarov f35e3c6fe0 changes on the fast speed avatars collider, collisions from above, etc 2012-12-11 19:38:44 +00:00
UbitUmarov 28ea08c3e2 fix let other phys plugins work.. broken when added feetOffset 2012-12-11 17:14:32 +00:00
Robert Adams 905d7c43ad BulletSim: modify LIMIT_MOTOR_UP to limit BOAT types to be at water rather than ground level. This makes boats float at water level better but not perfectly. There probably needs to be some interaction between HOVER and LIMIT_MOTOR_UP. 2012-12-11 00:35:16 -08:00
Robert Adams 8b861e880a BulletSim: add ini file and command line parameters to control
dumping of physical vehicle parameters (out of Bullet) on each
simulation step and to optionally scale vehicle angular velocity
by the time step. The latter looks to be part of a difference
between angular parameters for ODE and BulletSim. SL docs say
angular velocity is measured in radians/timeScale. Not sure if this
is different than what ODE does.
2012-12-11 00:13:13 -08:00
Robert Adams ebf30e7ba6 BulletSim: set mass for single prim linksets when going physical. This fixes single prim vehicles not working (the surf board now zooms). 2012-12-11 00:02:20 -08:00
UbitUmarov 9a253c7c04 missing files remove some warnings... 2012-12-11 04:49:14 +00:00
UbitUmarov 420015b7d0 missing file 2012-12-11 04:47:40 +00:00
UbitUmarov 80639ace95 a few more changes on avatar collider 2012-12-11 04:36:27 +00:00
Robert Adams 93393fb975 BulletSim: comment out some chatty debug logging. Rearrange some code in BSDynamics to make velocity vs force calculation clearer. 2012-12-10 16:46:12 -08:00
Robert Adams 9df85eadf4 BulletSim: Fix crash on the destruction of physical linksets.
While fixing the above, add methods to physical body and shape pointer
wrapper so routines won't have to know that IntPtr.Zero means no
physical instance.
Fix problem with physical linksets failing after a few sits and
unsits by properly restoring child prom positions for compound
linksets after multiple selection and deselections.
2012-12-10 15:35:53 -08:00
Robert Adams a19896cc56 BulletSim: some comments about rebuilding linksets (having to recompute and restore a child's position in the world based on its position in the moved linkset). 2012-12-09 22:32:46 -08:00
Robert Adams ce5083a504 BulletSim: adjust friction and restitution based on material type. 2012-12-09 22:32:46 -08:00
Melanie f30d519bcc Merge branch 'master' into careminster 2012-12-09 21:27:32 +00:00
Robert Adams 04e64d73df BulletSim: set material properties for static objects. Move Linkset.MakeStatic() after call to ForceActivationState2() since linkset might change activation state. Make BSPrim.CreateGeomAndObject public as linkset rebuilding might need access to it. Only rebuild prim if selection state is actually changes -- OpenSimulator calls PhysObject.Selected() multiple times whenever a prim is selected or deselected. 2012-12-08 09:14:40 -08:00
Robert Adams 216c121935 BulletSim: fix small problem with setting size/scale of native shapes which caused the native shapes to be rebuilt when not necessary. 2012-12-08 09:14:34 -08:00
Robert Adams addb791f3d BulletSim: update comments and add more to TODO list. 2012-12-08 09:14:28 -08:00
UbitUmarov 2ea0dc55d7 create a new ode character also with the new information 2012-12-07 20:06:35 +00:00
UbitUmarov d2499c4c31 *TEST* Use new avatar size in ubitODE. 2012-12-07 15:54:46 +00:00
Melanie 2cb824d3fc Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-12-07 03:49:04 +00:00
Robert Adams 7fd8202ae3 BulletSim: rewrite and improve vehicle angularDeflection, verticalAttraction,
linearMotorUp and related vehicle forces.
Fixed problems with downward vehicle position correction forces being too large.
Add vehicle collision flag so can sense whether vehicle is on the ground.
2012-12-06 09:31:12 -08:00
Robert Adams edd1b353a5 BulletSim: update and add to the TODO list. 2012-12-06 09:31:05 -08:00
Robert Adams 18fe35906d BulletSim: add detail logging detail flag so I don't have to comment and uncomment the detail logging when changing the depth of logged info. 2012-12-06 09:30:57 -08:00
Robert Adams cc59e3cbdf BulletSim: only check position sanity if the prim is physical -- the user can do anything dumb they wish. 2012-12-06 09:30:50 -08:00
Robert Adams 2ecd8e6720 BulletSim: add values for material friction and restitution. Fix line endings in material definition file. 2012-12-06 09:30:42 -08:00
Robert Adams 6d7f66f781 BulletSim: Don't add gravity to down force -- let Bullet do that. Add VehicleAddForce to set of managed vehicle prim properties. 2012-12-06 09:30:35 -08:00
Robert Adams e599a8b242 BulletSim: Vehicle angular vertical attraction works. Other vehicle angular forces commented out for the moment for debugging. 2012-12-06 09:30:28 -08:00
UbitUmarov de3180a63e avatar collision plane send to viewer is only relative to feet. change
avatar collider, just rounding the boxes, etc
2012-12-05 23:19:18 +00:00
Melanie 5837e731bf Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
2012-12-04 23:01:18 +00:00
UbitUmarov b6d29aa124 move characters (avatars) to own collision space, also fixing a problem
with previus code that was still assuming the avatar is g2
2012-12-04 02:46:40 +00:00
UbitUmarov fc1be7e41f raise standing avatar a bit to reduce knees bending on some collisions.
reduce head size a bit
2012-12-04 01:54:37 +00:00
Robert Adams 787636b97a BulletSim: Reduce idle region physics overhead where there are MANY
static objects by more restrictive selection of objects that collide
    with static objects.
Rename collision mask fuctions from 'filter' to 'group' so it is clear
    what is being set.
Rename BulletSimAPI.SetCollisionFilterMask() to SetCollisionGroupMask to match above.
Restore passing of time step to linear and angular motion component routines.
Use buffering vehicle physical parameter get/set routines consistantly.
Make range enforcement clearer by using ClampInRange() function for parameter setting.
Remove commented out experimental vehicle calculations.
2012-12-03 16:25:51 -08:00
Melanie b7c3a4fa7f Merge branch 'avination' into ubitwork 2012-12-03 19:46:16 +01:00
UbitUmarov 8aa5fdb6a3 *TEST* diferent avatar collider 2012-12-03 19:45:45 +01:00
UbitUmarov f21d990820 fix vertex rounding direction 2012-12-03 19:41:29 +01:00
UbitUmarov aa00308b10 *TEST* reduce all mesh vertices resolution to 1e-5. This reduces number
of unique vertices only originated by math errors in PrimMesher
2012-12-03 19:41:21 +01:00
UbitUmarov c50fda8bf5 adjust avatar standing Z position 2012-12-03 19:41:14 +01:00
Robert Adams 41f1c5b7f7 BulletSim: rework angular corrections to remove any hybrid code and compute absolute collections. 2012-12-03 07:59:56 -08:00
Robert Adams 2586bab2dd BulletSim: add stubs for generalization of preStep actions. Will eventually replace the specialized vehicle processing with preStep event processing. Add TODO comments about this feature. Redo line endings in TODO file to be all Linux. 2012-12-03 07:59:52 -08:00
Robert Adams dc0497c1b8 BulletSim: begin tracking a TODO list. There just are so many things to remember to do. 2012-12-03 07:59:49 -08:00
Robert Adams 10fcc70b36 BulletSim: revert angular vertical attraction from motor to code. The motor code did not return the restoring difference but the current value. Remove unused commented out code. 2012-12-03 07:59:46 -08:00
Robert Adams f9fed421fe BulletSim: format vehicle detail logging messages so vehicle changs are grouped better in the log output. 2012-12-03 07:59:42 -08:00
Robert Adams 20c3ec7d92 BulletSim: localize vehicle property setting so the vehicle prim is only updated at the end of the vehicle simulation step and the push of the physics property update event only happens if the properties are actually changed. 2012-12-03 07:59:39 -08:00
Robert Adams b124aae05e BulletSim: Add DumpActivationInfo2 function. Change static objects from DISABLE_SIMULATION to ISLAND_SLEEPING. Update DLLs and SOs to add DumpActivationInfo2 function. 2012-12-01 15:39:13 -08:00
Robert Adams ec63e4ff29 BulletSim: remove time scaling of computed vehicle absolute velocity since Bullet will scale the movement by the time slice. Restore LIMIT_MOTOR_UP to definitition of BOAT simce some vehicle engines use it even for land vehicles. Push vehicle parameter updates through the regular property update to solve vehicles floating off when they should be stopped. 2012-11-29 22:21:45 -08:00
Melanie 56b2bc7101 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Physics/Manager/IMesher.cs
2012-11-30 01:54:13 +00:00
Melanie daa1d99513 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/InstantMessage/OfflineMessageModule.cs
	OpenSim/Region/Physics/Meshing/Meshmerizer.cs
2012-11-30 01:19:08 +00:00
Robert Adams 0bda35e18f BulletSim: add copyright header where it is missing. Remove some unnecessary 'using' requirements so testing framework is less complicated. 2012-11-29 09:53:59 -08:00
Robert Adams 0cd99c74a7 BulletSim: add expanded call to IMesher/Meshmerizer which enables/disables mesh caching. Since BulletSim caches and tracks the unmanaged memory version of meshes, the Meshmerizer itself does not need to cache built meshes once BulletSim has made the physical proxy mesh. 2012-11-29 09:24:53 -08:00
Robert Adams b8a7cbb9e9 BulletSim: reverse direction of hover correction. Removes problem with vehicles being orbited. 2012-11-29 08:03:30 -08:00
Robert Adams 2ccd4c1302 BulletSim: fix boats floating low by removing LIMIT_MOTOR_UP flag from TYPE_BOAT definition. 2012-11-28 09:48:48 -08:00
Robert Adams 0a66317fa6 BulletSim: move GetWaterLevelAtXYZ from BSScene to BSPhysTerrain. 2012-11-28 09:48:33 -08:00
Justin Clark-Casey (justincc) aae76f7be4 Stop logging spurious asset data for {0} is zero length error for sculpts/mesh
ODEPrim, for instance, always hits this code path twice at the moment
Firstly before any sculpt data has been loaded (hence the spurious message)
Secondly when any sculpt data has been loaded or failed to load (when the message would be valid).
Hence comment this out and rely on the message in ODEPrim.MeshAssetReceived() instead
(though this is not ideal since it requires all physics plugins to copy/paste similar code).
2012-11-28 02:01:04 +00:00
Robert Adams 8e459a0346 BulletSim: reorganize linear movement routine into separate subroutines enabling external calibration routines and unit tests. 2012-11-27 10:04:00 -08:00
Robert Adams a5100cafee BulletSim: fix terrain mesh generation for problem with regions that have unequal edge heights. Thanks UBit. 2012-11-27 10:03:55 -08:00
Robert Adams 68fe7dff20 BulletSim: reorganize angular movement routine into separate subroutines enabling external calibration routines and unit testing. 2012-11-27 10:03:49 -08:00
Robert Adams 59554758b1 BulletSim: implementation of vertical attraction motor. 2012-11-27 10:03:44 -08:00
Robert Adams 9e0db36c82 BulletSim: add 'infinite' timescale that does not reduce motor target or friction. 2012-11-27 10:03:38 -08:00
Robert Adams 5685b33071 BulletSim: increase vehicle stability by suppressing Bullet's update to angular velocity. 2012-11-26 10:47:34 -08:00
Robert Adams 084e3926ca BulletSim: use m_angularMotor to do the basic movement. Add the setting of same. Rename the angular forces and add comments to match MoveAngular to the form of MoveLinear. 2012-11-25 20:04:33 -08:00
Robert Adams d7126a14e1 BulletSim: up the vehicle angular damping to 0.95. Still trying to overcome the movement added by Bullet. 2012-11-25 20:04:33 -08:00
Robert Adams 4c077a0694 BulletSim: organize MoveLinear code for understandability. Make LIMIT_MOTOR_UP contribution a velocity and not a force. 2012-11-25 20:04:32 -08:00
Robert Adams f977131fe0 BulletSim: add ToString override to BSVMotor. 2012-11-25 20:04:32 -08:00
Robert Adams 319ec3235c BulletSim: add BSVMotor as BSDynamics linear motor.
Properly limit *_MOTOR_DECAY_TIMESCALE to 120 as per specs.
Invode BSDynamics.Refresh() when vehicle type is changed. Previously
   the vehicle properties weren't getting set because the physical
   properties were set before the vehicle type was set.
Add a "use name" to BSMotors for identification while debugging.
Correct current and target confusion in BSVMotor design.
Rename CurrentValueReductionTimescale to FrictionTimescale.
Event more detailed logging.
2012-11-25 20:04:31 -08:00
Robert Adams 980edabc2e BulletSim: clean up TODO list. It is kept somewhere wlse that should be more public. Add error logging for the detail log writer so a message is output when it cannot write to the specified logging directory. Modify friction defaults to be closer to ODE's values. Add new collision margin and vehicle angular damping parameters. 2012-11-25 20:04:29 -08:00
Robert Adams 9a42405944 BulletSim: small change to add position correction force with AddForce rather than just storing it in the variable 2012-11-25 20:04:28 -08:00
Robert Adams 22d5bf8ff9 BulletSim: complete vector motor. Correct line endings. 2012-11-25 20:04:28 -08:00
Robert Adams d1480ac7ee BulletSim: add terrain collision margin and vehicle angular damping
parameters to the parameter block.
New API call for setting collision margin.
2012-11-25 20:04:27 -08:00
Robert Adams c3f30fef96 BulletSim: add parameter for terrain collision margin.
Add locking around unlikely but possible race conditions on terrain list.
2012-11-25 20:04:27 -08:00
Robert Adams 4ae30873ad BulletSim: Add tables and initialization for different attributes for different materials. For the moment, the per material tables are not used. 2012-11-25 20:04:26 -08:00
Melanie fd7a83f439 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
2012-11-25 14:13:50 +00:00
UbitUmarov 62244b5ea5 don't zero constant force and torque in selection 2012-11-24 22:46:24 +00:00
Justin Clark-Casey (justincc) 22d4c52ffc Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Melanie 2bdd3eb918 Merge branch 'master' into careminster 2012-11-22 14:47:57 +00:00
Melanie 3b2caa63b0 Rename BulletSim's PhysicsShapeType to BSPhysicsShapeType because it
conflicts with PhysicsShape type defined in later libOMV
2012-11-22 14:45:41 +00:00
Melanie c4c6121752 Merge branch 'master' into careminster 2012-11-22 03:17:33 +00:00
Robert Adams cbc7e7bf85 BulletSim: Make avatar capsule so it is not circular.
Simple attempt to make avatars better shaped.
Replace parameter 'avatarCapsuleRadius' with 'avatarCapsuleWidth'
and 'avatarCapsuleDepth'.
More tweeking to avatar height calculation. A little better but
short avatar's feet are above the terrain and tall avatar's feet
are a little below the ground.
2012-11-21 16:43:53 -08:00
Robert Adams 4a0de01704 BulletSim: Properly position mesh terrain on creation (fixes terrain not appearing to be working). Centralize terrain shape creation logic. Remove very chatty detail log messages. 2012-11-21 16:43:45 -08:00
Robert Adams a59368c4a1 BulletSim: add terrainImplementation parameter with default to Mesh. 2012-11-21 16:43:37 -08:00
Robert Adams 2dc7e9d3fa BulletSim: fix line endings to be all Linux style (windows style keeps creeping in) 2012-11-21 16:43:29 -08:00
Robert Adams 34cbc738a8 BulletSim: enablement and debugging of mesh terrain. 2012-11-21 16:43:21 -08:00
Robert Adams 71b9640dfa BulletSim: pull heightmap implementation out of the terrain manager so a mesh terrain can be implemented. 2012-11-21 16:43:14 -08:00
Robert Adams 8dd5813889 BulletSim: rename SHAPE_AVATAR to SHAPE_CAPSULE with the eye to eventually having mesh avatars. 2012-11-21 16:43:06 -08:00
Robert Adams 65e55ada87 BulletSim: uplevel FixedShapeKey out of ShapeData structure (since it is getting simplified out of existance someday) and update all the references to same. 2012-11-21 16:42:58 -08:00
Robert Adams d6db0d5740 BulletSim: uplevel PhysicsShapeType out of ShapeData structure (since it is getting simplified out of existance someday) and update all the references to that enum. 2012-11-21 16:42:50 -08:00
Robert Adams 4d29488216 BulletSim: change PositionSanityCheck to apply a force to correct position corrections (below ground and floating). 2012-11-21 16:42:42 -08:00
Robert Adams 2f5fe4b88e BulletSim: tweek avatar capsule parameters so avatar feet don't go below ground. This solves the bouncing, short avatar problem (Mantis 6403). 2012-11-21 16:42:34 -08:00
Melanie 9f2d232c71 Merge branch 'master' into careminster 2012-11-19 22:53:03 +00:00
Robert Adams 6c961d8add BulletSim: Use base class constructors for initialization of BSShape and other classes. 2012-11-18 22:58:36 -08:00
Robert Adams 22be36be69 BulletSim: fix the problem with flying being disabled when crossing region boundries. 2012-11-18 22:57:26 -08:00
Robert Adams 079a1e704f BulletSim: remove the obsolete interface to the Bullet code. Update BulletSim libraries with code stripped of the obsolete code. 2012-11-18 18:17:30 -08:00
Melanie 7ad082f7c3 Merge branch 'avination' into careminster 2012-11-17 02:58:14 +00:00
Melanie 06fa1681ae Merge branch 'master' into careminster 2012-11-15 00:43:26 +00:00
Diva Canto aeeaa3a0a9 Added AssemblyInfos to every dll in the OpenSim.Region namespace. 2012-11-14 11:09:43 -08:00
Diva Canto e4cb7af98a Updated all existing AssemblyVersions's to 0.7.5.*. Many DLLs still don't have an AssemblyInfo file. 2012-11-13 19:26:43 -08:00
Melanie 415b89f434 Merge branch 'master' into careminster 2012-11-09 22:58:42 +00:00
Dan Lake 9bc0419679 ODECharacter overrides TargetVelocity. No change to existing behavior 2012-11-08 01:18:25 -08:00
Melanie b3e99a4d48 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs
2012-11-08 04:51:00 +00:00
Robert Adams 3666518319 BulletSim: add skeleton classes for shape objectification. This will eventually replace all the if's and switches in ShapeCollection with polymorphism. 2012-11-07 15:29:51 -08:00
Robert Adams 67d5dbbb49 BulletSim: add classes for physics motors. Eventually these will replace the manual code for vehicles and add PID functionality to avatar movement. 2012-11-07 15:28:06 -08:00
Robert Adams ee00c5c885 BulletSim: many changes to tune vehicles for BulletSim.
The problem left is that the vehicle sitting on something needs
to press down for gravity and what its sitting on pushes up
so the vehicle does not penetrate. The effect is Bullet calculates
a lot of random angular motion for the vehicle. Various schemes
of damping and zeroing has not resolved the problem.
2012-11-06 18:16:47 -08:00
Robert Adams 76cc303031 BulletSim: Add ZeroAngularMotion method to physical objects. Add inTaint flag to ZeroMotion method. Update the references to those functions. 2012-11-06 18:16:35 -08:00
Robert Adams e2130817e5 BulletSim: remove limit on taints that can happen before a step. Remove some debugging code (detail log flushing). 2012-11-06 18:16:23 -08:00
Robert Adams f70a3099b5 BulletSim: recalculate the compound shape bounding box when built. 2012-11-06 18:16:12 -08:00
Robert Adams 702fd1e094 BulletSim: only compute linkset mass when membership changes rather than everytime someone asks for it. 2012-11-06 18:16:00 -08:00
Robert Adams 36d77fe27c BulletSim: Add separate linear and angular damping function calls. Add function for recalculating compound shape bounding box. 2012-11-06 18:15:48 -08:00
Melanie c623e35805 Merge branch 'master' into careminster 2012-11-04 22:44:42 +00:00
Melanie dd416298f1 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-11-04 22:37:28 +00:00
Robert Adams 79f7c466a1 BulletSim: fix compound linkset crash by not freeing shape of child prims.
Remove all compilation warnings (mostly 'protected' in sealed classes.)
Add the dynamicAabbEnable parameter to creation of compound shapes.
2012-11-03 21:16:02 -07:00
Robert Adams 894bb4893b BulletSim: search the mesh and hull lists to find shapes if type is not known. This makes sure the correct accounting is done for the particular shape. 2012-11-03 21:15:54 -07:00
Robert Adams 498ea76e63 BulletSim: Move construction of compound linkset from ShapeCollection
into LinksetCompound where it should be.
Create meshes for native shapes when part of a compound linkset because
    scale is currently per object and not per collision shape.
Don't schedule a LinksetCompound refresh if just changing properties.
2012-11-03 21:15:46 -07:00
Robert Adams 1dc23b2b97 BulletSim: parameterize selection of linkset implementation 2012-11-03 21:15:39 -07:00
Robert Adams b0eccd5044 BulletSim: debugging of compound shape implementation of linksets.
Add compound shape creation and freeing in shape manager.
Add optional taint-time execution method and update code to use it.
Add API2 linkage for more compound shape methods (get num, get/remove by index, ...)
Modify perferred shape return so linkset children can have differet shapes than root.
Add Position and Orientation calls to linksets so children can be moved around by
    the linkset by its own calculation. Allows for very general linkset implementations.
2012-11-03 21:15:30 -07:00
Robert Adams f53b4e7a21 BulletSim: Add RawPosition and RawOrientation to BSPhysObject and rename MassRaw to RawMass. Fix BSShapeCollection to use Raw* for creating the body to eliminate exception from referencing the physical body before it has been created. 2012-11-03 21:15:22 -07:00
Robert Adams 39c02dcc8c BulletSim: Remove use of shapeData in ShapeCollection and rely on the available BSPhysObject varaiables. Fix line endings in BSLinksetCompound. 2012-11-03 21:15:14 -07:00
Robert Adams 364a7c3088 BulletSim: rename BSBody and BSShape to PhysBody and PhysShape. Add skeleton of BSLinksetCompound. 2012-11-03 21:15:06 -07:00
Robert Adams 28e2cd3fa2 BulletSim: vehicle tweeking.
Add AddTorque() method to BSPrim. Remove some manual motor actions
in computing angular force (will eventually be replaced with motor class).
Remove some experimental changes.
2012-11-03 21:14:58 -07:00
Robert Adams 52be581f71 BulletSim: remove center-of-mass setting for linksets because it causes the constraint calculation to pull the objects together. 2012-11-03 21:14:49 -07:00
Robert Adams 93fe384cce BulletSim: Use the PostTaints operation to build the linkset once before the next simulation step. This eliminates the management of children vs taintChildren and simplifies the constratin creation code. 2012-11-03 21:14:41 -07:00
Robert Adams 42d65840c8 BulletSim: Add gravity force to vehicle. Some debugging additions. 2012-11-03 21:14:33 -07:00
Robert Adams dae038a117 BulletSim: fix problem with multiple linksets stepping on each other if they are built at the same time. 2012-11-03 21:14:25 -07:00
Robert Adams 4cfa3be4ef BulletSim: add definitions for linkset collision mask 2012-11-03 21:14:16 -07:00
Robert Adams bc43c7007d BulletSim: code rearrangement 2012-11-03 21:14:08 -07:00
Robert Adams 8c9e4c1f7b BulletSim: Use Refresh/PostTaints to cause recomputing of constraint variables before the simulation step. Update logging and messages to properly name LinksetConstraints. Use UpdatePhysicalMassProperties to put the whole linkset mass into all the physical linkset members so they have the inertia to move the whole linkset. 2012-11-03 21:14:00 -07:00
Robert Adams 9568f24c26 BulletSim: add post taint taints and post step taints. The post taints operation is most useful and is used by linksets to build and rebuild only once before the simulation step. 2012-11-03 21:13:52 -07:00
Robert Adams 2f25f70316 BulletSim: remove unneeded parameter from Refresh(). 2012-11-03 21:13:44 -07:00
Robert Adams e20bad12cc BulletSim: centralize mass/inertia computation with UpdatePhysicalMassProperties() function. Didn't add setMassRaw because assignment with side effect is dirty. 2012-11-03 21:13:35 -07:00
Robert Adams 7af28724ac BulletSim: rename constraint classes so they show up together alphabetically. 2012-11-03 21:13:27 -07:00
Robert Adams 92d3c611e5 BulletSim: many small changes for vehicles simulation. 2012-11-03 21:13:19 -07:00
Robert Adams 2b75035aef BulletSim: add ForEachMember(action) call for linkset. 2012-11-03 21:13:11 -07:00
Robert Adams 8fa83cf430 BulletSim: Add activations after vehicle properties change. Problem was the vehicle was going to sleep while waiting for commands. Make AddAngularForce work the same way as AddForce -- accumulates values and pushes them once into Bullet. 2012-11-03 21:13:03 -07:00
Robert Adams b83449ae9a BulletSim: correct spelling of Bullet call. It's 'swept' not 'sweep'. 2012-11-03 21:12:54 -07:00
Robert Adams 804b332d45 BulletSim: Add banking and other new code to vechile dynamics. Add third party license and contributor in for for Aurora-Sim project for physics code. 2012-11-03 21:12:46 -07:00
UbitUmarov e36a700eb0 add debug position on bad primmesh error 2012-11-02 14:02:57 +00:00
UbitUmarov c2639bef8e lock unique and uniqueReleased in same order when both locks are needed 2012-11-02 10:14:08 +00:00
Melanie e7a6328ea4 Merge branch 'master' into careminster 2012-11-01 15:52:32 +00:00
Dan Lake ffe4d738fb Add TargetVelocity to PhysicsActor interface to support distributed physics. No change to existing functions. 2012-10-31 17:13:18 -07:00
Melanie 28a4ea73ea Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/ChildAgentDataUpdate.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2012-10-31 00:13:33 +00:00
Justin Clark-Casey (justincc) ff6c69000e Log warning if mesh/sculpt asset couldn't be found by ODEPrim.MeshAssetReceived() callback.
Presumably this is now more useful if the false positive from the old method of loading mesh assets have been eliminated.
2012-10-30 01:40:59 +00:00
Justin Clark-Casey (justincc) cccf695327 Add asset != null check to ODEPrim.MeshAssetReceived instead of throwing exception.
In some cases (such as failure to receive response from asset service), it is possible for a null to be returned from IAssetService.Get(string, object, AssetRetrieved).
2012-10-30 01:14:48 +00:00
Justin Clark-Casey (justincc) 37de965233 Make MeshAssetReceived private.
Keep methods private unless they need to be opened up to external callers.  Reduces analysis complexity.
2012-10-30 01:08:00 +00:00
Justin Clark-Casey (justincc) aeeed29d62 correct ODEPrim.MeshAssetReveived -> MeshAssetReceived 2012-10-30 01:07:14 +00:00
Melanie 48569e856a Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-10-30 01:02:20 +00:00
Melanie 5b0fc60296 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
2012-10-28 18:58:43 +00:00
UbitUmarov db7f4074b5 revert last change 2012-10-28 14:39:04 +00:00
UbitUmarov fbe4ec8ee0 fix ode timing 2012-10-28 14:32:55 +00:00
UbitUmarov dd0323d89e minor change 2012-10-28 14:04:39 +00:00
UbitUmarov 8bb2905416 test limit ode exec time by time not number of loops done 2012-10-28 11:55:11 +00:00
Melanie 26cc57b6ca Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
2012-10-26 21:13:01 +01:00
Robert Adams b6fc5bad00 BulletSim: fix problem with avatars sinking into the ground.
Change terrain activation state to DISABLE_SIMULATION for better performance.
2012-10-23 17:30:43 -07:00
Melanie 484eca323b Merge branch 'master' into careminster 2012-10-23 17:25:40 +01:00
Melanie 13cef0b16a Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/LandData.cs
2012-10-23 17:23:36 +01:00
Robert Adams b49f8a377b BulletSim: minor change to insure avatar body recreation when shape changes. 2012-10-23 08:02:26 -07:00
Robert Adams 36bfd3667c BulletSim: remove chatty debug message. 2012-10-22 22:25:06 -07:00
Robert Adams 14eeb8b31b BulletSim: fix bug that caused error (and a crash on 32 bit Linux) when mesh assets weren't already in the cache. Comment cleanups. 2012-10-22 22:24:59 -07:00
Robert Adams 7272a4cae8 BulletSim: fix problem of not rebuilding shape by clearing last rebuild failed flag in BSPrim.ForceBodyShapeRebuild() 2012-10-22 22:24:51 -07:00
Robert Adams 65c131c4a3 BulletSim: remove trailing spaces to make git happy. 2012-10-22 22:24:44 -07:00
Robert Adams c245178eee BulletSim: encorporate UBit's suggestion to save a copy of mesh raw data. 2012-10-22 22:24:37 -07:00
Robert Adams a61f20ac74 BulletSim: Create LinkSet abstract class and sparate constraint based linksets into own subclass. Will eventually add manual movement linkset subclass. 2012-10-22 22:24:30 -07:00
UbitUmarov 3b51cae958 bug fix 2012-10-20 17:53:33 +01:00
Justin Clark-Casey (justincc) 5bc07a15f5 minor: remove unnecessary bit of method doc from OdePrim.BadMeshAssetCollideBits that monodevelop inserted automatically 2012-10-20 02:52:38 +01:00
Justin Clark-Casey (justincc) d2b19f00da Fix minor issues from commit 28483150
Fix spelling of collide, change to more self-documenting property BadMeshAssetCollideBits, add method doc, change to private to reduce code analysis complexity
2012-10-20 02:49:16 +01:00
Melanie 6ad8d3c43f Merge branch 'master' into careminster 2012-10-20 02:33:24 +01:00
Robert Adams d94c4646cc BulletSim: add asset fetching so BulletSim works with new physics asset handling.
Refactor some names to make them available for the asset tracking and fetching.
2012-10-19 15:43:31 -07:00
Robert Adams f422b9b388 BulletSim: reorder avatar collision checking to eliminate double collision_end.
Various tweekings to avatar shape/mass/inertia/etc.
Remove change from avatar radius to diameter. But still the avatar sinks.
Collision_end now happens immediately rather than at the next subscription time.
2012-10-19 10:52:31 -07:00
Robert Adams e87a179c89 BulletSim: change nonimal physics frame rate to 55 to give same numbers as ODE.
Change character scaling to represent size of capsule (diameter rather than radius)
Modify create capsule call to pass radius and height.
Eliminate errors when calculating shape inertia (should have some type checking).
2012-10-19 10:52:23 -07:00
Robert Adams fc33afddd3 BulletSim: remove code in ShapeCollection that hinted at shape sharing.
Add new function to ParameterDefn for calling BulletSimAPI to set values.
Tweaking to BSCharacter parameter setting to try and have avatars stand.
2012-10-19 10:52:14 -07:00
Robert Adams eaccfa6d99 BulletSim: Fix small problems with last patch: BSScene.World properly initialized and setting of C++ parameters commented out. Comments and logging added. 2012-10-19 10:52:06 -07:00
Robert Adams fd7a097849 BulletSim: Update BSCharacter to use API2 interface.
Add capsule shape to BSShapeCollection().
Remember last updated values so inter frame diffs can be computed.
Parameterize avatarStandingFriction and reduce to 10 from 999.
    The latter high value made avatars very hard to push.
Set CCD parameters for prims and characters of specified.
2012-10-19 10:51:58 -07:00
UbitUmarov b51c26ab40 UbitOde stop doing a copy of the asset data using just the reference to
it. It costs a lot of cpu and doesn't seem all that usefull.
2012-10-19 03:50:00 +01:00
UbitUmarov 739782627a [UNTESTED] core Ode: let broken mesh physical prims collide with land as
the defaul basic box so they don't go off world.
2012-10-19 01:25:30 +01:00
Melanie e5760430c5 Merge branch 'master' into careminster 2012-10-19 01:20:13 +01:00
UbitUmarov 28483150e2 [UNTESTED] core Ode: let broken mesh physical prims collide with land as
the defaul basic box so they don't go off world.
2012-10-19 01:19:48 +01:00
UbitUmarov 33a67b691e [UNTESTED] core Ode: stop trying to load a broken asset. Make broken
assets behave like phantom by Nebadon request
2012-10-19 00:36:32 +01:00
Melanie 29ab5a6bfe Merge branch 'master' into careminster 2012-10-19 00:32:25 +01:00
UbitUmarov b058ba5859 [UNTESTED] core Ode: stop trying to load a broken asset. Make broken
assets behave like phantom by Nebadon request
2012-10-19 00:30:48 +01:00
UbitUmarov de44e93aa2 missing changed file
Signed-off-by: Melanie <melanie@t-data.com>
2012-10-18 20:58:34 +01:00
UbitUmarov 1e7fb2dc36 i update core ode plugin and make it load is meshs (i hope)
Signed-off-by: Melanie <melanie@t-data.com>
2012-10-18 20:58:12 +01:00
Melanie 72c925a6c9 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Framework/WebUtil.cs
	OpenSim/Region/Physics/OdePlugin/OdeScene.cs
2012-10-18 20:56:34 +01:00
UbitUmarov e8936366f5 coment a debug warning 2012-10-16 11:39:58 +01:00
UbitUmarov 91b83fd45e fixes 2012-10-16 11:26:05 +01:00
UbitUmarov 1e03344411 missing file 2012-10-13 22:45:09 +01:00
UbitUmarov 5986b4ee39 add mesh cache expire on region startup. Expires will be relative to
previus expire (assumed done only once at startup). File 'cntr' on cache
 folder stores time. Deleting it will force a skip on expire. Default time
 is 48hours before previus startup to account for failed ones etc.
2012-10-13 22:30:34 +01:00
UbitUmarov 666fb744a3 retouch mesh ids 2012-10-13 01:41:18 +01:00
UbitUmarov 9ada03bcdd missing file (again) 2012-10-13 00:49:08 +01:00
UbitUmarov 48d2258f41 longer meshs identification keys, so first part on disk cache is it's asset id 2012-10-13 00:41:19 +01:00
UbitUmarov 13cb64a2c5 missing file 2012-10-12 23:46:48 +01:00
UbitUmarov 6e21796584 [TEST] disk cache meshs 2012-10-12 23:37:28 +01:00
Melanie 6ce93b22d1 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-10-12 19:05:06 +01:00
Robert Adams 8c40215834 BulletSim: only use native sphere shape if it is a sphere. 2012-10-12 07:41:31 -07:00
Robert Adams 87a87ebb9a BulletSim: fix problem with some shapes (like cylinders) being implemented as cubes. 2012-10-11 17:37:27 -07:00
UbitUmarov a91be67a6e commit the right files! 2012-10-12 00:39:58 +01:00
UbitUmarov d5cfe1c0be remove some more debug spam on ode 2012-10-12 00:36:01 +01:00
Robert Adams b24190ec98 BulletSim: remove some unused API2 calls because they were removed from Bullet 2.81 2012-10-11 14:01:29 -07:00
Robert Adams 5b82f18d64 BulletSim: normalize physics FPS to 45 (for real this time). 2012-10-11 14:01:25 -07:00
Robert Adams a86fedd25f BulletSim: normalize physics FPS to 45. 2012-10-11 14:01:22 -07:00
Robert Adams 3a458e2a36 BulletSim: Use full linkset mass when computing vehicle gravity force. Add taint-time specification to new AddForce(). 2012-10-11 14:01:18 -07:00
Robert Adams 919569f6ec BulletSim: Change defaults for constraint CFM and ERP to make large linksets more rigid. Remove mass calculation for terrain (it should stay a static object). 2012-10-11 14:01:14 -07:00
Robert Adams a791620622 BulletSim: cosmetic changes (comments and renaming). Give mass to terrain to improve interactions. 2012-10-11 14:01:10 -07:00
Robert Adams 68698975f1 BulletSim: Add Force* operations to objects to allow direct push to engine.
Update BSDynamics to use same (don't want to delay updates til next taint-time.
Suppress queuing a taint update for position and orientation calls if value
    does not change.
Move Bullet timing statistics call from C# back to C++ code.
Throttle taints per simulation step and add parameter to set.
By default, don't create hulls for physical objects. Add a
    parameter to turn on and off.
2012-10-11 14:01:07 -07:00
Robert Adams 87825b0abe BulletSim: Fix crash when linking large physical linksets.
Properly remove and restore linkage constraints when upgrading
    a prim's mesh to a hull.
Lots more debug logging.
Definitions and use of Bullet structure dumping.
Centralize detail logging so a Flush() can be added for debugging.
2012-10-11 14:01:03 -07:00
UbitUmarov 8fa91686db add some quaternion normalizations to keep errors under control 2012-10-10 00:57:33 +01:00
UbitUmarov c0cdeec4c0 debug 2012-10-10 00:36:06 +01:00
UbitUmarov a19a189fec fix debug :) 2012-10-09 23:01:26 +01:00
UbitUmarov e238ece327 debug... 2012-10-09 22:57:28 +01:00
UbitUmarov ce497ce379 debug... 2012-10-09 19:43:06 +01:00
teravus 7e90ea3551 av_av_collisions_off = false OdePhysics Settings in OpenSimDefaults.ini - No Avatar Avatar Collisions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment. 2012-10-09 10:41:16 -04:00
teravus 764270a0d8 Add config option to plant avatar where they are reducing avatar avatar 'pushability' av_planted see OpenSimDefaults.ini. Use when you have unruly visitors that rudely push each other around. Still allows a small amount of movement based on the avatar movement PID controller settings. You can increase the spring tension in the PID controller and really prevent any movement if you would like. 2012-10-09 09:26:11 -04:00
UbitUmarov 315f3ee0e5 avoid crashing so debug is seen 2012-10-09 05:21:09 +01:00
UbitUmarov d0773dcd6a another debug msg 2012-10-09 05:09:43 +01:00
UbitUmarov 8717541288 force allocation of mesh data on creation ( messy code version ) 2012-10-09 04:31:50 +01:00
UbitUmarov 5ef48c5980 temporary debug code 2012-10-09 02:57:51 +01:00
UbitUmarov 4c512ada58 fire a extra terseupdate when stopping (like in loosing physics). In some
cases things seem not to stop
2012-10-09 01:04:29 +01:00
UbitUmarov 2e223c8ce2 Change ray to land colision range limitation so it has no impact on other
geom types
2012-10-09 00:44:02 +01:00
UbitUmarov 3bf7201fd4 move terrain geom to own ode space. Limit range on raycast if includes
terrain until ode doesn't eat all stack. Add a pre-simulation method to do
pending actors changes (except mesh assets still not ready to use), to be
optionaly called before firing heartbeat. [UNTESTED]
2012-10-09 00:18:39 +01:00
UbitUmarov a1fcfe8677 a few changes/fix (?) 2012-10-07 23:54:15 +01:00
UbitUmarov 48d8fbc9ae bug fix + make costs visible for testing 2012-10-07 08:53:55 +01:00
UbitUmarov a0b4e68060 refix so we can compile it, loosing alpha scultps fix on core meshmerizer 2012-10-07 06:33:13 +01:00
UbitUmarov c42df1259f fix wrong file commited 2012-10-07 06:16:47 +01:00
UbitUmarov 03ef125ba0 Merge branch 'avination' into ubitwork
Conflicts:
	OpenSim/Region/Physics/Meshing/Meshmerizer.cs
2012-10-07 06:13:24 +01:00
UbitUmarov 4a87a8f3b9 comment out a spam coment on core Meshmerizer 2012-10-07 06:11:51 +01:00
UbitUmarov 4efc90ef37 i update core ode plugin and make it load is meshs (i hope) 2012-10-07 05:53:52 +01:00
UbitUmarov 78ce7a0a04 [DANGER UNTESTED] ODE mesh assets. Other plugins will not do meshs/sculpts
now
2012-10-07 01:20:52 +01:00
Melanie 637e9a10db Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SimStatsReporter.cs
2012-10-04 20:16:23 +01:00
UbitUmarov 89d342b5ce more changes and more non active code 2012-10-04 08:14:52 +01:00
UbitUmarov 51e1830f86 more changes. Most code not in use 2012-10-04 04:55:53 +01:00
teravus a2ab3b88de Soliciting for comments on smoothness of physics objects for this build.
This introduces expected contact point hints to the ODE Collider to better determine when to throttle updates as excessive.   This /should/ smooth physics objects out again, however, I cannot know every configuration of OpenSimulator, so I'm requesting that testers please examine this change on their build.
Thanks!
2012-10-03 18:30:44 -04:00
UbitUmarov a9f2bc150f missing changed file 2012-10-03 23:18:35 +01:00
UbitUmarov 9988558ec1 meshworker basic replacement of SOP CheckSculptAndLoad ( for now disabled
for all physics engines)
2012-10-03 23:14:56 +01:00
UbitUmarov 4f51cc325c making meshworker have more work.. 2012-10-03 20:36:41 +01:00
UbitUmarov 7137b234b4 introduce a ODEMeshWorker class, should be pure cosmetic changes for now 2012-10-03 19:33:28 +01:00
Melanie 8a552ac907 Merge branch 'master' into careminster 2012-10-03 17:40:13 +01:00
teravus e56ef2720e I propose that 0.5m/step change for linear velocity is too big of a change to control the reporting of a new angular velocity. I think that this could be here for one of two reasons, 1. vehicles and llMoveToTarget with axis lock, or 2. To attempt to make things look more stable in the physics scene then they really are, however, this also really affects the angular velocity reporting negatively causing things to spin wildly and jump back into place repeatedly. To compromise, if the prim is a vehicle or is being used as a motor target, the original functionality is still applied. If that's not the case, angular velocity is reported with a linear velocity of 0.02m/step. To be clear on the effect of the physical world... When you push things, there's still a lag time where you walk into the object but once the object is in motion, it begins to move as you would expect so results in slightly more realistic motion. 2012-10-03 02:30:23 -04:00
teravus df3d1d1301 Minor Modification, switch /2 to 0.5f in ODEPrim.Velocity 2012-10-02 23:14:35 -04:00
Melanie 23d5bafa7f Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
2012-10-03 00:24:33 +01:00
Robert Adams 210f227fe6 BulletSim: Make parameter value defaults match what should be the default and what is in OpenSimDefaults.ini. Comment and debug printout changes. 2012-10-02 11:14:15 -07:00
Robert Adams ce47d0c454 BulletSim: Add ForcePosition and ForceOrientation to BSPhysObject and to its children of BSPrim and BSCharacter. 2012-10-02 11:14:09 -07:00
Robert Adams d8a786870b BulletSim: Fix problem where box shapes were not being rebuilt if the shape type changed. 2012-10-02 11:14:03 -07:00
Robert Adams ce97ebdc88 BulletSim: Fix linkset problem where delayed manipulations of child objects was using the child shape address at call time rather than the one created at taint time. 2012-10-02 11:13:57 -07:00
Robert Adams b6b505163c BulletSim: call ForcePosition and ForceOrientation in BSDynamics so there is no lag between what the vehicle code sees and what the physics engine is using. 2012-10-02 11:13:51 -07:00
Robert Adams f2c78281ce BulletSim: fix the FloatOnWater code so avatars can normally go underwater. 2012-10-02 11:13:39 -07:00
Robert Adams 33617e09a1 BulletSim: impliment FloatOnWater OS function. 2012-10-02 11:13:32 -07:00
Robert Adams c1740a2903 Correct my name in CONTRIBUTORS.txt 2012-10-02 11:13:26 -07:00
Robert Adams 5221f2421e BulletSim: remove warnings for unused variables. 2012-10-02 11:13:20 -07:00
Melanie 944b1ed237 Merge branch 'avination' into careminster 2012-09-29 21:47:08 +01:00
Melanie 71dd55a1ce Merge branch 'master' into careminster
Conflicts:
	CONTRIBUTORS.txt
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
2012-09-29 19:21:07 +01:00
Robert Adams 76e9cc41bd BulletSim: remember to release the physical body and shape when a prim is destroyed. This fixes many problems with physical linksets. 2012-09-28 12:34:50 -07:00
Robert Adams 6f89975526 BulletSim: add separate runtime and taint-time linkset children lists to keep the creation of constraints separate from runtime. 2012-09-27 22:02:13 -07:00
Robert Adams 74dea4cfd5 BulletSim: rename some constraint variables to be consistant with other name use.
Added callbacks for shape and body changes in GetBodyAndShape() so the linkset
    constraints can be picked up and restored. A better design might be to have
    a "prim shape changed" event. Think about that.
Added constraint types to general constraint class.
2012-09-27 22:02:08 -07:00
Robert Adams 7b65985047 BulletSim: remove the trailing spaces from lines to make git happier 2012-09-27 22:02:03 -07:00
Robert Adams 5781d4d52d BulletSim: remove the unused body management code from BSPrim. There is no going back now. 2012-09-27 22:01:57 -07:00
Robert Adams f82b903dee BulletSim: Fix linkset crash. Caused by the different body and shape
pointers at runtime and at taint-time. Now passes the body into the
    taint.
Vehicles zero inertia when active to eliminate Bullet's contribution
    to vehicle motion.
2012-09-27 22:01:52 -07:00
Robert Adams 4589bc84a3 BulletSim: Terrain sets proper collision flags on creation.
Static objects are set to ISLAND_SLEEPING rather than DISABLE_SIMULATION.
    Might reconsider this and, alternatively, have dynamic objects force activation.
Clean up use of DetailLog().
2012-09-27 22:01:47 -07:00
Robert Adams 735d89e369 BulletSim: btGhostObjects working to make 'volume detect' work.
Rearrangement and cleanup of shape collection code. Much more readable.
Enabling and use of collision filters and masks.
Addition of ID to body creation BulletSimAPI calls so always set in
    shape for collision reporting.
Change default of ShouldSplitSimulationIslands and ShouldRandomizeSolverOrder
    from 'false' to 'true'. When 'false', this suppresses NO_CONTACT_RESPONSE
    which makes volume detect fail.
2012-09-27 22:01:42 -07:00
Robert Adams d016051fa0 BulletSim: renamed members of BulletShape, BulletSim and BulletBody
so the members case is consistant. Caused modifications everywhere.
New logic in BSShapeCollection to track use and sharing of shapes.
    I just reslized, though, that shapes cannot be shared because the
    shape's UserPointer is the localID of the prim and is required
    for tracking collisions. More changes coming.
Added DuplicateCollisionShape2() to API and changed BuildNativeShape2
    to take a ShapeData structure so don't have to pass so many parameters.
    This matches the latest version of BulletSim.dll.
Additions and removal of DetailLog() statements for debugging.
2012-09-27 22:01:37 -07:00
Robert Adams 42802669dd BulletSim: fix regression that caused cylindar shapes to have a box collision shape 2012-09-27 22:01:31 -07:00
Robert Adams 22290ef35a BulletSim: complete code for managed code shape and body tracking. Not debugged.
Eliminate some null exceptions created adding the above code.
Add and remove some detailed logging statements.
2012-09-27 22:01:26 -07:00
Robert Adams a27e4ce6cb BulletSim: add class and infrastructure for shape and object
tracking in the C# code. Needed for the changing body type
    (to and from GhostObjects) for volumeDetect.
2012-09-27 22:01:21 -07:00
Robert Adams 91efccabdc BulletSim: Convert BSCharacter to use common BSPhysObject code and variables.
Fix avatar height calculation to properly account for the capsule ends.
Rearrange some locking in TerrainManager to eliminate possible race conditions.
Move DetailLog() definition into common BSPhysObject class.
Some variable renaming to make usage clearer (refactor.rename makes this so easy).
2012-09-27 22:01:16 -07:00
Robert Adams ee7cda261c BulletSim: move a bunch of common logic out of BSPrim and BSCharacter
and into the parent class BSPhysObject.
Rework collision logic to enable extra collision after done colliding.
Rename 'Scene' to 'PhysicsScene' to differentiate it from the simulator 'Scene'.
2012-09-27 22:01:11 -07:00
UbitUmarov 58e55ae075 make some forgotten changes be done by simulation thread not by caller 2012-09-27 23:14:42 +01:00
Melanie 001ec0e2e6 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-09-27 17:29:44 +01:00
Melanie f2308c819e Remove spammy "axislock" debug. 2012-09-17 12:58:59 +02:00
Melanie db774d4292 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs
	OpenSim/Region/Framework/Scenes/EventManager.cs
2012-09-16 04:11:20 +01:00
Robert Adams b602b476ad BulletSim: update DLLs and SOs and remove some debugging code. 2012-09-15 15:36:13 -07:00
Robert Adams c77be802d2 BulletSim: some debugging prints in BSPrim for tracking changes in linkset children. 2012-09-15 15:32:16 -07:00
Robert Adams 1826b2b18e BulletSim: add the debugging routine DumpRigidBody2() to API2. 2012-09-15 15:32:11 -07:00
Robert Adams f35bd6eb7d BulletSim: another attempt at computing physics FPS correctly. 2012-09-15 15:32:05 -07:00
Robert Adams dcb94b8a24 BulletSim: remove timeStep parameter from calls for vehicle parameter setting. There is no reason these should be using the simulation time interval for parameter calculation. 2012-09-15 15:31:59 -07:00
Robert Adams 6632eb7c05 BulletSim: Remove calculation and passing of unused collied object type.
Fix collision code to properly sense mega-region children regions as terrain.
When setting an object physical, reset all the physical properties (friction, ...).
2012-09-15 15:31:54 -07:00
Robert Adams f0a098924e BulletSim: set all linkset objects center of mass to the whole linkset's center of mass 2012-09-15 15:31:49 -07:00
Robert Adams 7c347f4c5c BulletSim: Add calls to linkset class when object going static or dynamic.
Reset center of mass on an object when going dynamic.
2012-09-15 15:31:44 -07:00
Robert Adams d86cbe6379 BulletSim: remove unused NeedsMeshing() code from BSScene. 2012-09-15 15:31:39 -07:00
Robert Adams c0fec70b1a BulletSim: Add 'IsNativeShape2' call 2012-09-15 15:31:34 -07:00
Robert Adams 2c5ff93990 BulletSim: Way too many changes in one commit.
Many changes to BSDynamic for readability and commentary.
Linkset hacking for vehicles: don't over mass the root prim.
Add parameter for link constraint solver iterations.
Correct uses of timestep in timescale calculations for vehicles.
Reorganize code/logic for making objects static and dynamic for readability
    and use of API2.
Changed most calls in BSPrim to use API2 calls (the new way).
Avatars do not generate default Bullet collision events but do call up
    to the simulator for every avatar. Reduces overhead.
Objects added to collision list only if they are processing collisions.
    Reduces overhead especially for large numbers of avatars.
Generalize call for water height to GetWaterHeightAtXYZ().
Catch and correct exception getting terrain height when out of bounds.
Correct race condition in Terrain Manager where creation wasn't at taint-time.
Add API calls for constructing compound shapes.
Move NeedsMeshing() logic into object class.
Reorganize logic for object meshing to reduce rebuilding of meshs/hulls.
2012-09-15 15:31:29 -07:00
Melanie 0d97beefce Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-09-09 13:30:24 +01:00
Robert Adams 126eae7100 BulletSim: Add Bullet body and shape to BSPhysObject and rename
'Body' to 'BSBody' for disambiguation when reading code.
Complete the API2 interface so nearly all methods on bullet
    classes are available to the managed code. The efficient
    single call simulation step is kept in place while all
    other creation/destruction/parameterization can be done
    in the managed code.
2012-09-07 16:05:28 -07:00
Robert Adams 3c097cb7a9 BulletSim: Add some comments (gasp) and log messages. 2012-09-07 16:05:22 -07:00
Robert Adams 189f51233e BulletSim: PhysicsActorType() now returns the correct value rather than 'unknown'. 2012-09-07 16:05:16 -07:00
Robert Adams 76dc29dc37 BulletSim: Modify collision flag calls to return the current flags.
Track current collision flags in BSPrim.
Add BulletSimAPI calls for saving and restoring rigidBodies using
    construction information structure.
2012-09-07 16:05:11 -07:00
Melanie e2e8b09059 Merge branch 'master' into careminster 2012-09-02 22:15:55 +01:00
Robert Adams ffdc798720 BulletSim: Update BulletSimAPI to match the DLL interface.
Major rework of terrain management which finally makes mega-regions work.
Update heightmap of terrain by rebuilding the terrain's body and shape.
    There is a problem with just replacing the shape so this workaround
    will do for the moment but it will need to be resolved for
    mesh and hull switching.
2012-08-31 11:41:33 -07:00
Robert Adams ae852bb873 BulletSim: clean up some variable naming for consistancy.
Update DLL API for new terrain and shape/body pattern methods.
Terrain creation and modification uses new shape/body pattern.
Move debug logging callback set to initialization call so logging
   is per physics engine.
2012-08-31 11:41:28 -07:00
Robert Adams d3adf9b2b3 BulletSim: fix line endings. 2012-08-31 11:41:23 -07:00
Robert Adams 7c140570db BulletSim: Changes to terrain storage and management so mega-regions work.
Moved all terrain code out of BSScene and into new BSTerrainManager.
Added logic to manage multiple terrains for mega-regions.
Added new functions to BulletSimAPI to match the library.
Moved all of the terrain creation and setup logic from C++ code to C# code.
    The unused code has not yet been removed from either place. Soon.
Moved checks for avatar above ground and in bounds into BSCharacter.
2012-08-31 11:41:18 -07:00
Robert Adams 7b6987ce83 BulletSim: unify physical objects under BSPhysObjects. Now BSScene and BSLinkset only know of BSPhysObject's and there is only one list to search in BSScene. 2012-08-31 11:41:12 -07:00
Robert Adams 0376b8ddbc BulletSim: add new interface for mesh, hull and terrain creation that will move nearly all of the logic into the C# code. 2012-08-31 11:41:07 -07:00
Melanie aee7a31bc3 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2012-08-18 13:17:39 +01:00
Robert Adams 7243d4f842 BulletSim: Properly regenerate hulls when objects made physical.
This fixes the problem of non-base shapes (cubes and spheres)
    falling through the terrain.
2012-08-17 14:45:18 -07:00
Robert Adams 03d76e9403 BulletSim: restore most of the Detail logging statements. Will have
no effect on non-logging running.
Capture region name that is passed to the physics engine and use
    it for detail logging file name prefix.
Fix problem with avatars dropping when flying across region boundries.
2012-08-17 13:34:22 -07:00
Robert Adams ccc69d66a1 BulletSim: add parameters and functionality to specify the mesh
level of detail for large meshes.
Remove parameter and code for DetailLog (conditional logging into
   regular log file).
2012-08-17 13:34:18 -07:00
Robert Adams 8eda290262 BulletSim: comments and parameter changes in dynamics engine. 2012-08-17 13:34:16 -07:00
Robert Adams e31e23d68d BulletSim: in BSDynamics, merge 'flags' and 'hoverFlags' as they are defined for the same bits and it makes the code less complicated. 2012-08-17 13:34:14 -07:00
Melanie 90ad98370a Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-08-16 02:46:48 +01:00
Robert Adams 376441e550 BulletSim: make it so objects in a linkset do not generate collisions with each other. 2012-08-15 16:29:50 -07:00
Robert Adams dd10cf01e7 BulletSim: add hinge constraint.
Update BulletSimAPI with new constraint related function calls.
Reorganize locking in BS6DofConstraint.
Update BS6DofConstraint to do constraint reset correctly.
Add new 'midpoint' construction of 6Dof constraint.
2012-08-15 12:08:21 -07:00
Robert Adams 9efe7bf7ba BulletSim: add locking to constraintCollection and rename some of the public method variables to reduce confusion between a physics scene and the real scene. 2012-08-15 12:08:17 -07:00
Robert Adams 68f112888b BulletSim: clean up detail logging by adding many more debug log statements and then commenting out most of the additions. 2012-08-15 12:08:13 -07:00
Robert Adams b05a2fc4ed BulletSim: don't recreate mesh unless it needs it when rebuilding the hull. Make sure the collisionCollection is reallocated each tick to fix race condition of it being cleared while still in use. 2012-08-15 12:08:09 -07:00
Robert Adams 257446889b BulletSim: fix problem of a null reference exception on shutdown if there were linksets in the region. 2012-08-15 12:08:05 -07:00
Robert Adams 77a7758cf5 BulletSim: Refactor BSConstraintCollection to add a new RemoveAndDestroyConstraint(BSConstraint xx) 2012-08-15 12:08:01 -07:00
Robert Adams c1c1d48af1 BulletSim: add BSConstraint.RecomputConstraintVariables for the recomputation after linksets changed, etc 2012-08-15 12:07:57 -07:00
Robert Adams 6f1f299619 BulletSim: Add the class BSCharacter to the DetailLog output 2012-08-15 12:07:53 -07:00
Robert Adams 11a4b9ec1d BulletSim: rework physics FPS calculation to make a more realistic number. 2012-08-15 12:07:49 -07:00
Melanie 9b014a7167 Merge branch 'careminster' into avination
Conflicts:
	OpenSim/Region/CoreModules/Scripting/VectorRender/VectorRenderModule.cs
2012-08-14 02:34:03 +01:00
Melanie 93e3ab3ebd Merge branch 'master' into careminster 2012-08-11 17:32:30 +01:00
Robert Adams 0c7ce4fc98 BulletSim: many, many detailed logging messages for physical linkset
debugging.
Linkset bugs fixed where accounting of children would get lost.
Moved scene based vehicle tracking logic from prim to the scene.
Added GetCollisionFlags2 method to BulletSimAPI.
Updated DLLs and SOs.
2012-08-10 16:22:44 -07:00
Robert Adams 3ca770cd2c BulletSim: Add module names to DetailLog output. Fix some problems with linksets that were caused by checking data structures that are changed regularly from taint time code -- resulted in linksets not being unlinked properly. 2012-08-10 08:33:09 -07:00
Robert Adams 320982cae3 BulletSim: add an identifier to the TaintObject call so exceptions that happen when the taint is invoked can be debugged 2012-08-09 15:17:19 -07:00
Robert Adams 38e79b80a8 BulletSim: separate out the constraints by type. The linksets use
6dof constraint but eventually others will be exposed so future
features can use all the Bullet capabilities.
Force children to generate a position update when unlinked.
2012-08-09 15:01:05 -07:00
Melanie 6ed3761147 Merge branch 'master' into careminster 2012-08-09 02:37:49 +01:00
Robert Adams 5ab151c2d6 BulletSim: add avatar code to keep avatars from ending up trapped under the terrain 2012-08-08 13:48:49 -07:00
Robert Adams 19417fca41 BulletSim: Added avatar capsule scaling for size of avatar.
This also fixes computation of avatar mass.
Added parameter MaxPersistantManifoldPoolSize.
Fixed a parameter setting bug which caused crashes of there were
  more than 400 or so physical objects. I tested up to 5000.
Updated BulletSim DLLs and SOs.
2012-08-07 17:15:06 -07:00
Melanie 85b4eab005 Merge branch 'master' into careminster 2012-08-07 20:20:28 +01:00
UbitUmarov eef6bb97c0 use a bit more complex mesh key identifier, plus a bug fix 2012-08-07 17:42:29 +01:00
Robert Adams 4adb3471ac BulletSim: update SOs and DLLs to run on more Linux versions. Correct multiple buoyancy settings when character flying. Remove chatty log message on prim destruction. 2012-08-06 12:55:52 -07:00
UbitUmarov 36a1248b31 ** DANGER someone should stress test more ** release unused physics meshs, including unmanaged memory allocations (allocated by managed code) 2012-08-06 09:06:46 +01:00
UbitUmarov 307c45af2a bug fix: keep sculpt bitmaps border pixels during resolution scaling.
let this eventually have diferent interpolator last steps on each direction as sl seems to do.
2012-08-05 12:54:34 +01:00
UbitUmarov 493309d91a ubitmeshing: mask out mirror and invert bits on sculpttype convertion.
Remove some unused
2012-08-05 10:37:25 +01:00
UbitUmarov 92d44446fa *feature test* ubitode, let convex hull shape type work for prims other
than uploaded meshs, making it change the mesh level of detail from high to low.
This will work on all prims that get a internal mesh or sculpts. Mesh size
reduction will depend on particular shape. This is not as SL. There prims
do also get concave areas. Uploaded meshs work as before. A normal 10x10x10 torus gets 152 vertices in place of 900, and 198 faces in place of 1198.
2012-08-04 17:33:14 +01:00
Melanie b9c4a637b4 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-08-04 03:00:20 +01:00
Robert Adams e7ad6ed3a3 BulletSim: pass collision subscription information to the C++ code so collisions on objects that don't care are not reported up. 2012-08-03 15:09:56 -07:00
Robert Adams ea36d4a4cf BulletSim: Add AddObjectForce to BulletSim API.
Add interface 2 enhancements to BSCharacter.
Modify AddForce and SetForce to use the new Bullet interface.
More DetailLog statements for character.
2012-08-03 15:09:52 -07:00
Melanie 0c00abcce1 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2012-08-03 16:46:11 +01:00
Robert Adams 8b04e8a297 BulletSim: Debugging log statements added. Reduced size of updata buffer trying to find a corrupted memory problem. Update DLL and SO. 2012-08-02 16:30:23 -07:00
Melanie ecffcf7f65 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/Physics/Manager/PhysicsScene.cs
2012-08-01 23:03:03 +01:00
Melanie cf16ca9bda Create the ability for physics modules to request assets on demand by
themselves. For that, the physics module simply calls RequestAssetMethod, which
in turn points to Scene.PhysicsRequestAsset. This gives physics access to
the asset system without introducing unwanted knowledge of the scene class.
2012-08-01 22:37:38 +01:00
Robert Adams c51ef38e2d BulletSim: fix problem where resizing a primary shape (cube or sphere) would not rebuild the physics mesh. Update the DLLs and SOs to latest version. 2012-07-31 16:23:52 -07:00
Robert Adams e38d26a2dc BulletSim: change boolean parameters in the shape data from int's to float's to be consistant with parameter data structure 2012-07-31 16:23:48 -07:00
Melanie 8114260946 Merge branch 'master' into careminster 2012-08-01 00:08:02 +01:00
Robert Adams 50dbb9ffe4 BulletSim: add parameters and API calls for setting ERP and CFM.
Set ERP and CFM in linkset constraints.
Reorder rebuilding of object bodies so they are not rebuilt everytime
   something is linked and unlinked.
2012-07-31 09:23:05 -07:00
Melanie e012c81d7c Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2012-07-29 16:11:20 +01:00
Melanie 771d79e83e Merge branch 'master' into careminster
Conflicts:
	OpenSim/Framework/Monitoring/BaseStatsCollector.cs
	OpenSim/Region/Application/OpenSim.cs
	OpenSim/Region/Application/OpenSimBase.cs
	OpenSim/Region/Framework/Scenes/SceneManager.cs
	bin/OpenMetaverse.Rendering.Meshmerizer.dll
	bin/OpenMetaverse.StructuredData.dll
	bin/OpenMetaverse.dll
	bin/OpenMetaverseTypes.dll
	prebuild.xml
2012-07-28 00:39:36 +01:00
Justin Clark-Casey (justincc) d4f476c7ce Remove the LandGeom checks in OdeScene - these are pointless since LandGeom is always IntPtr.Zero and contacts returned always have a valid geometry.
Possibly this was for a feature that was never implemented or was otherwise removed.
Thanks to SignpostMarv for the spot of the warning that shows this parameter was never changed.
2012-07-27 23:31:19 +01:00
Melanie be22e3599c Change the stair fudge factor so steps of 0.5m can be climbled to match inworldz claims and SL's realities 2012-07-27 03:24:45 +02:00
Robert Adams ce812c88cc BulletSim: fix a recursive loop when fetching the mass of the root of a linkset. 2012-07-26 16:06:00 -07:00
Robert Adams 7d30637d51 BulletSim: refactor all the linkset logic out of the prim class
and into its own class. The BulletSim data structures track
individual prims as linksets of 1 so most of the prim code is not
different between a linked and unlinked object.
2012-07-26 16:05:57 -07:00
Robert Adams 9e914f5c32 Add check so Ode does not try to simulate after it has been Dispose()'ed. Fixes exception that happens when shutting down region (improvements from last patch) 2012-07-26 16:03:15 -07:00
Robert Adams 9ca1075e7e BulletSim: remove unused, commented out code in BSConstraint 2012-07-25 16:31:17 -07:00
Robert Adams 0a4c080e63 BulletSim: fix line endings in newly added files (Is it DOS or is it UNIX? Only it's hairdresser knows for sure) 2012-07-25 16:31:12 -07:00
Robert Adams d7add2940a BulletSim: add parameters for setting linkset constraint factors 2012-07-25 16:31:08 -07:00
Robert Adams 75f7721b0c BulletSim: small change to use the pointer to the bullet object for zeroing forces. 2012-07-25 16:31:04 -07:00
Robert Adams bf6529db32 BulletSim: Redo parameter specification so only one place has
to change to have a parameter show up in the ini file and
command line. Will make it much easier for the next person.
2012-07-25 16:30:59 -07:00
Robert Adams 2d05e16f7e BulletSim: Add C# classes for storing and tracking constraints. 2012-07-25 16:30:55 -07:00
Robert Adams 5707e171f4 BulletSim: Move constraint tracking from C++ code to C# code
for more flexibility.
2012-07-25 16:30:50 -07:00