Robert Adams
24df15dab7
BulletSim: add implementation of 'physSetLinksetType' and 'physGetLinksetType'
...
and processing routines in BulletSim.
Add linkset rebuild/conversion routine in BSLinkset.
2013-08-02 09:47:12 -07:00
Robert Adams
5bcccfc305
BulletSim: add BSLinkInfo structure to remember link specific information
...
for each link in a linkset.
Extend BSLinksetConstraint to create and use BSLinkInfo with the default
static constraint.
2013-08-02 09:47:11 -07:00
Robert Adams
0d189165a8
BulletSim: distribute vehicle physical settings to all members of
...
a linkset. Enables constraint based linksets.
Rename some internal variables to clarify whether values world or
vehicle relative.
2013-07-30 15:23:33 -07:00
Robert Adams
f499b328c4
Revert "Revert "BulletSim: Add logic to linksets to change physical properties for""
...
Found that the vehicle movement problem was not caused by these physics changes.
This reverts commit 84d0699761
.
2013-07-23 08:14:20 -07:00
Robert Adams
aec8852af7
Revert "Revert "BulletSim: move collision processing for linksets from BSPrimLinkable""
...
Found that the vehicle movement problem was not caused by these physics changes.
This reverts commit c45659863d
.
2013-07-23 08:13:01 -07:00
Robert Adams
c45659863d
Revert "BulletSim: move collision processing for linksets from BSPrimLinkable"
...
The changes don't seem to be ready for prime time.
This reverts commit b4c3a791aa
.
2013-07-22 12:09:17 -07:00
Robert Adams
84d0699761
Revert "BulletSim: Add logic to linksets to change physical properties for"
...
The changes don't seem to be ready for prime time.
This reverts commit b44f0e1a00
.
2013-07-22 12:07:42 -07:00
Robert Adams
b44f0e1a00
BulletSim: Add logic to linksets to change physical properties for
...
whole linkset.
Override physical property setting for BSLinksetCompound as there are
not children to the compound spape.
2013-07-22 10:27:24 -07:00
Robert Adams
b4c3a791aa
BulletSim: move collision processing for linksets from BSPrimLinkable
...
into the linkset implementation classes.
Add HasSomeCollision attribute that remembers of any component of
a linkset has a collision.
Update vehicle code (BSDynamic) to use the HasSomeCollision in place of
IsColliding to make constraint based linksets properly notice the ground.
Add linkset functions to change physical attributes of all the members
of a linkset.
2013-07-22 10:27:15 -07:00
Robert Adams
425d2a2a97
BulletSim: set linkset type to be prim specific rather than a simulator
...
wide default. This allows individual prims to differ in the
underlying linkset implementation.
2013-06-30 17:07:50 -07:00
Robert Adams
92ee288d66
BulletSim: remove trailing white space to make git happier. No functional changes.
2013-04-29 07:54:50 -07:00
Robert Adams
ad1787770e
BulletSim: rename variable 'PhysicsScene' to be either 'PhysScene' or 'm_physicsScene' to match coding conventions and reduce confusion.
2013-04-29 07:38:55 -07:00
Robert Adams
e5582939fd
BulletSim: massive refactor of shape classes. Removed shape specific code from BSShapeCollection. Using BSShape* classes to hold references to shape. Simplified shape dependency callbacks. Remove 'PreferredShape' methods and have each class specify shape type. Disable compound shape linkset for a later commit that will simplify linkset implementation.
2013-04-29 07:38:40 -07:00
Robert Adams
fb903ff490
BulletSim: More work on center-of-mass. Remove linksetinfo and rely on simulator to update info.
2013-02-12 15:52:08 -08:00
Robert Adams
1b55a9d81e
BulletSim: fix avatar bobbing or jiggling while stationary flying.
...
Various comments and debugging message mods.
2013-02-08 16:29:40 -08:00
Robert Adams
1b203601f4
BulletSim: include the linkage to the layered prim implementation. Separate layers for physical (vs simulator) location displacement and linksets.
2013-02-08 16:29:29 -08:00
Robert Adams
775fd6f8cc
BulletSim: fix build break introduced by previous commit
2013-01-23 14:24:54 -08:00
Robert Adams
471c477863
BulletSim: allow changing position and rotation of a child of a linkset
...
without rebuilding the whole compound shape. Should make vehicles move
smoother.
2013-01-21 15:58:22 -08:00
Robert Adams
459fcd81c9
BulletSim: move center of gravity of linkset to its geometric center.
...
Necessitated allowing simulator and physical position of a body to
get out of sync since Bullet assumes that <0,0,0> is the center of mass.
Update DLLs and SOs for the UpdateChildTransform so positions of
individual prim in a linkset can be implemented.
2013-01-11 16:47:53 -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
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
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
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
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
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
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
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
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
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
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
2f25f70316
BulletSim: remove unneeded parameter from Refresh().
2012-11-03 21:13:44 -07:00
Robert Adams
2b75035aef
BulletSim: add ForEachMember(action) call for linkset.
2012-11-03 21:13:11 -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
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
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
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
a791620622
BulletSim: cosmetic changes (comments and renaming). Give mass to terrain to improve interactions.
2012-10-11 14:01:10 -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
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
5221f2421e
BulletSim: remove warnings for unused variables.
2012-10-02 11:13:20 -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
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