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
2c8bf4aaa6
BulletSim: fix small bug where everything looked like it was colliding
...
before the first simulator step.
2013-07-17 10:19:44 -07:00
Robert Adams
70d24a654b
BulletSim: rename position and orientation variables to remove the
...
inconsistant use of Raw* and _* conventions.
2013-07-07 05:46:24 -07:00
Robert Adams
a65cec3986
BulletSim: implementation of linkset center-of-mass.
...
Default off, for the moment, until more testing.
Add separate thread and center-of-mass flags to OpenSimDefaults.ini.
Clean up comments in OpenSimDefaults.ini.
2013-07-06 08:25:15 -07:00
Robert Adams
23516717e4
BulletSim: a better version of llMoveToTarget that doesn't go crazy.
...
There is still some overshoot but mostly fixes Mantis 6693.
Fix bug where moveToTarget was active for non-physical objects
and while selected.
Fix bug where move target was not getting changed if the script
changed the target during a move.
2013-06-30 17:07:49 -07:00
Robert Adams
795acaa6aa
BulletSim: add failure flag for meshing failure vs asset fetch failure
...
so error messages make more sense.
Change some BulletSim status log messages from WARN to INFO.
Update TODO list.
2013-06-10 14:12:45 -07:00
Robert Adams
f9fb1484aa
BulletSim: extend BSActorLockAxis to allow locking linear movement in
...
addition to angular movement. Not enabled by anything yet.
2013-05-06 13:32:22 -07:00
Robert Adams
fca4e4ec7c
Merge branch 'master' into bulletsim4
2013-05-01 12:08:12 -07:00
Robert Adams
46ae84cfba
BulletSim: fix error messages created while an avatar has no initial
...
collisions. Usually happens when logging in an avatar that had been
previously flying. Uninitialized variable.
2013-04-30 13:10:15 -07:00
Robert Adams
7cdb07b386
BulletSim: improvements to LinksetCompound and PrimDisplaced. Not all working yet.
2013-04-30 11:42:11 -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
522ab85045
BulletSim: improve avatar stair walking up. Add more parameters to control force
...
of both position change and up force that move avatars over barrier.
Default parameters are for steps up to 0.5m in height.
2013-04-23 18:31:12 -07:00
Robert Adams
5f2cbfc0fd
BulletSim: fixing problems with llMoveToTarget. Not all fixed yet.
2013-04-09 18:00:29 -07:00
Robert Adams
a7a1b8b7e9
BulletSim: clean up actor code so routines use the same coding pattern.
...
Fix a few enabling problems.
2013-04-08 06:27:44 -07:00
Robert Adams
fe16dc09da
BulletSim: complete movement of physical object action code out of the
...
physical object and into actors for setForce, setTorque, hover, lock
axis and avatar move.
2013-04-08 06:27:43 -07:00
Robert Adams
747ece59d2
BulletSim: convert BSDynamic to a BSActor and change BSPrim to set
...
up the vehicle actor.
2013-03-31 22:19:41 -07:00
Robert Adams
2c581cae2a
BulletSim: Add physical 'actors' that operate on the physical object.
...
Add first 'actor' for locked axis.
2013-03-31 22:19:41 -07:00
Robert Adams
953090fd62
BulletSim: fix possible race condition where an prim's asset can be requested quicker than the asset fetcher returns and thus falsely reporting that an asset was not fetched and defaulting the assset to a bounding box.
2013-03-25 15:40:43 -07:00
Robert Adams
0194a3d890
BulletSim: fix density since the simulator/viewer track density in a
...
funny unit that is 100 times real density (default 1000).
Fix avatar drifting slowly when stationary flying.
Fix for physical prims getting corrected for being under terrain when it was
just its geometric center that was below terrain.
Add PreUpdatePropertyAction allowing plugable modifiction of phys
parameters returned from Bullet.
Fix an exception setting GravityMultiplier on initialization.
Update DLLs and SOs for good measure (no functional change).
2013-02-12 15:52:10 -08: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
913965256f
BulletSim: Adapt BulletSim to the newer physical properties. Viewer
...
dialog setting of friction, restitution, ... working.
2013-02-07 17:13:28 -08:00
Robert Adams
ebb63b55aa
BulletSim: add user setting of friction, density and restitution.
2013-02-07 17:13:27 -08:00
Robert Adams
d2ece00e68
BulletSim: set removing zero width triangles in meshes to be enabled by default. This should fix the invisible barrier in sculptie doorways bug.
2013-02-06 15:59:59 -08:00
Robert Adams
371449db2f
BulletSim: clean up TargetVelocity implementation by using the default defn in the PhysicsActor base class.
2013-01-31 15:55:53 -08:00
Robert Adams
e9aff0a91d
BulletSim: do not zero an avatar's standing velocity if it is standing
...
on a moving object.
Rearrange pre/post action subscription code to put more in locks.
Add meshmerizer params to BulletSimTestUtil scene creation (and fix line endings).
Rebuilt version of DLLs and SOs with cleaned up code and no profiling for sure.
2013-01-28 15:11:50 -08:00
Robert Adams
ddef8f16e5
BulletSim: first attempt at reporting top colliders
2013-01-27 12:50:05 -08:00
Robert Adams
c44a8e9f92
BulletSim: finish the post step event for physical object actions. Modify vehicle to use post step event for logging.
2013-01-27 12:50:04 -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
c6b6c94ccb
BulletSim: reduce jitter in avatar velocity when walking or flying.
...
OpenSimulator is VERY sensitive to changes in avatar velocity and
will send an avatar update message when velocity changes more than
0.001m/s. This significantly reduces the number of avatar update messages by
smoothing the avatar velocity returned by Bullet.
2013-01-18 11:39:24 -08:00
Robert Adams
75f710f1e7
BulletSim: Add one function that all actors who act on the physical
...
can use to know if the object is currently active.
Code cleaning including use of Util.ClampV function.
2013-01-17 14:47:35 -08:00
Robert Adams
4e1ca890c2
BulletSim: fix not moving physical objects below terrain to over terrain.
...
Add locking on register prestep action list preventing potential race conditions.
Little comment and formatting changes.
2013-01-14 15:46:46 -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
93adc4cb66
BulletSim: Add IsSelected attribute to physical objects. Have vehicles check to see if physical before trying to step. Replace vehicle gravity application. Previously relying on Bullet to apply gravity but since vehicles over-ride the velocity calculation, gravity never had a chance to accelerate the body down. Added AddForceImpulse as well as AddForce for those who need to apply immediate velocity updates. Use the impulse to apply the linear motion.
2013-01-11 16:47:20 -08:00
Robert Adams
8452c0a870
BulletSim: add function to push avatar up when hitting stairs.
...
It looks like BulletSim and ODE rely on penetration correction to cause
the avatar to move up and thus allowing walking up stairs. Object
penetration was minimized for walking and flying (so one doesn't go
through walls) and this stopped stairs from working. This commit
introduces avatar movement code to check for collisions at the
feet while walking and attempts to raise the avatar for the steps.
Not yet perfect but movement is better.
2013-01-07 16:05:02 -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
9218748321
BulletSim: another round of conversion: dynamics world and collision object functions.
2012-12-31 19:57:22 -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
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
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
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
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
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
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
bb6eeb5429
BulletSim: do not return the current velocity for targetVelocity.
2012-12-12 11:01:36 -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