aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* BulletSim: fix not moving physical objects below terrain to over terrain.Robert Adams2013-01-141-1/+1
| | | | | Add locking on register prestep action list preventing potential race conditions. Little comment and formatting changes.
* BulletSim: disable center-of-mass computation for linksets until debugged. ↵Robert Adams2013-01-141-14/+12
| | | | Move physical prim above ground if it is underground. Previously tried to correct by applying and up force but the prim would never go through the ground.
* BulletSim: move center of gravity of linkset to its geometric center.Robert Adams2013-01-111-10/+30
| | | | | | | 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.
* BulletSim: Add IsSelected attribute to physical objects. Have vehicles check ↵Robert Adams2013-01-111-20/+61
| | | | 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.
* BulletSim: remove double application of buoyancy. Centralize computation of ↵Robert Adams2013-01-111-19/+4
| | | | buoyancy. Add motor angular debugging controls.
* BulletSim: fix the 'No recognised physics mesh found ...' error spew by ↵Robert Adams2013-01-111-1/+1
| | | | remembering that the last asset fetch failed until the simulator resets the shape parameters.
* BulletSim: add function to push avatar up when hitting stairs.Robert Adams2013-01-071-1/+1
| | | | | | | | | | 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.
* BulletSim: implement llMoveToTarget by adding PIDActive, etc.Robert Adams2013-01-041-42/+21
| | | | | Implementation of non-vehicle hover but haven't tested it a lot. Update TODO list.
* BulletSim: add initial implementation of llMoveToTarget and hover height.Robert Adams2013-01-041-10/+147
| | | | Not all there yet.
* BulletSim: move over and port the interface for BulletXNA.Robert Adams2013-01-011-11/+0
| | | | | | | | 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.
* BulletSim: fix line endings.Robert Adams2013-01-011-20/+20
|
* BulletSim: subclass Bullet[World|Body|Shape|Constraint] for unmanagedRobert Adams2013-01-011-16/+21
| | | | | to have pointers and managed to have objects. Initial paste of XNA code. Commented out.
* BulletSim: nearly complete in conversion from BulletSimAPI to BSAPITemplate. ↵Robert Adams2012-12-311-23/+23
| | | | Only initialization and debug fuctions left.
* BulletSim: another round of conversion: dynamics world and collision object ↵Robert Adams2012-12-311-37/+37
| | | | functions.
* BulletSim: first round of conversion from direct BulletSimAPI interfacing by ↵Robert Adams2012-12-311-1/+1
| | | | BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first.
* BulletSim: change physical data structures to classes. Add defaultRobert Adams2012-12-311-4/+1
| | | | | | instantiations for PhysBody and PhysShape when BSPhysObject is created to account for them being classes and not structures. Update TODO list.
* BulletSim: fix physical object not interacting with static objects.Robert Adams2012-12-271-9/+24
| | | | | Another instance of the underlying Bullet doing, ah, helpful things when items are added to the world.
* BulletSim: Parameterize nominal frame rate (55) and add parameters to ↵Robert Adams2012-12-271-2/+2
| | | | dynamially turn on/off detailed, unmanaged data dumping of prims and vehicles.
* BulletSim: move logic for IsColliding, CollidingGround and CollidingObj from ↵Robert Adams2012-12-271-15/+3
| | | | individual sub-classes and up to parent BSPhysObject class.
* BulletSim: fix buoyancy so it's properly set by a script when anRobert Adams2012-12-271-4/+25
| | | | | object is selected. Update TODO list.
* BulletSim: add physical parameter min/max constants in BSParam. I just don't ↵Robert Adams2012-12-271-2/+2
| | | | like raw numbers scattered around the code.
* BulletSim: scale the force for external AddForce by the simulationRobert Adams2012-12-261-1/+11
| | | | | step time so it will be applied completely the next step. The internal AddForce routine does not scale the force.
* BulletSim: make llBuoyancy work. For some reason, Bullet resets anRobert Adams2012-12-251-4/+8
| | | | | object's individual gravity to the world gravity when the object is added to the physical world.
* BulletSim: Fix single physical prim reporting its mass as zero.Robert Adams2012-12-241-27/+44
| | | | | | | 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.
* BulletSim: remove all special vehicle code from BSScene. Replace per-frame ↵Robert Adams2012-12-211-20/+6
| | | | updates for vehicles with per-frame action registration. One fewer special case.
* BulletSim: Fix llApplyImpulse so it works after the first impulse. The ↵Robert Adams2012-12-211-4/+24
| | | | problem was Bullet deactivating the object between the pushes (when, as far as the physics engine is concerned, it isn't moving).
* BulletSim: add BSPhysObject code to manage registrations of preStep events. ↵Robert Adams2012-12-211-63/+49
| | | | 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.
* BulletSim: Move all the parameter variables, tables and get and fetch logic ↵Robert Adams2012-12-211-15/+11
| | | | to a separate, static class for easier addition and to remove all that bulk from the BSScene class.
* BulletSim: avatar movement smoothed with motor that modifies avatar velocity ↵Robert Adams2012-12-211-3/+5
| | | | to target velocity. Fails in incorporating physical world effects (gravity) so avatar doesn't fly correctly.
* BulletSim: comments and TODO list updateRobert Adams2012-12-181-2/+7
|
* BulletSim: add parameter to UpdateProperties call into the linkset so ↵Robert Adams2012-12-161-8/+21
| | | | 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.
* BulletSim: rip out old code for linkset child position fetching. BulletSim ↵Robert Adams2012-12-161-12/+17
| | | | doesn't need to do that bookkeeping because SOG/SOP already does it.
* BulletSim: Add 'BulletSimData' which separates structures createdRobert Adams2012-12-131-18/+11
| | | | | | 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.
* BulletSim: fix problem of avatar's floating off the ground after unsitting. ↵Robert Adams2012-12-121-6/+2
| | | | 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.
* BulletSim: fix crash caused by the creation of a linkset child that is under ↵Robert Adams2012-12-111-4/+4
| | | | the terrain. Users can sure find some interesting corner conditions.
* BulletSim: protect character property setting to remove crash from taints ↵Robert Adams2012-12-111-1/+2
| | | | setting properties after the destroy character taint.
* BulletSim: protect prim property setting to remove crash from taints setting ↵Robert Adams2012-12-111-17/+37
| | | | properties after the destroy object taint has happened.
* BulletSim: Fix crash on the destruction of physical linksets.Robert Adams2012-12-101-2/+4
| | | | | | | | | 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.
* BulletSim: adjust friction and restitution based on material type.Robert Adams2012-12-091-5/+7
|
* BulletSim: set material properties for static objects. Move ↵Robert Adams2012-12-081-11/+19
| | | | 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.
* BulletSim: only check position sanity if the prim is physical -- the user ↵Robert Adams2012-12-061-3/+1
| | | | can do anything dumb they wish.
* BulletSim: Vehicle angular vertical attraction works. Other vehicle angular ↵Robert Adams2012-12-061-0/+3
| | | | forces commented out for the moment for debugging.
* BulletSim: Reduce idle region physics overhead where there are MANYRobert Adams2012-12-031-5/+9
| | | | | | | | | | | | 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.
* BulletSim: Add DumpActivationInfo2 function. Change static objects from ↵Robert Adams2012-12-011-2/+2
| | | | DISABLE_SIMULATION to ISLAND_SLEEPING. Update DLLs and SOs to add DumpActivationInfo2 function.
* BulletSim: remove time scaling of computed vehicle absolute velocity since ↵Robert Adams2012-11-291-11/+4
| | | | 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.
* BulletSim: move GetWaterLevelAtXYZ from BSScene to BSPhysTerrain.Robert Adams2012-11-281-3/+4
|
* BulletSim: increase vehicle stability by suppressing Bullet's update to ↵Robert Adams2012-11-261-44/+6
| | | | angular velocity.
* BulletSim: small change to add position correction force with AddForce ↵Robert Adams2012-11-251-5/+4
| | | | rather than just storing it in the variable
* Rename BulletSim's PhysicsShapeType to BSPhysicsShapeType because itMelanie2012-11-221-1/+1
| | | | conflicts with PhysicsShape type defined in later libOMV
* BulletSim: Make avatar capsule so it is not circular.Robert Adams2012-11-211-1/+3
| | | | | | | | | 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.