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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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