Commit Graph

86 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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