aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* BulletSim: zero motion on an object that we pop up because it isRobert Adams2013-01-241-1/+7
| | | | | below terrain. If the position is being corrected because it is out of bounds, all other movement rules are out the window.
* BulletSim: remove setting of vehicle InterpolationRotationalVelocity.Robert Adams2013-01-231-2/+2
| | | | | | This doesn't seem to help the vehicle stability. Rename vehicle internal variables adding a "V" or "W" so it is clear when coordinates are vehicle or world relative.
* BulletSim: small change to center-of-mass computation left out last commitRobert Adams2013-01-231-3/+8
|
* BulletSim: center-of-gravity linkset changes. Not working yet.Robert Adams2013-01-231-21/+1
| | | | | | Conflicts: OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs
* BulletSim: working on COMRobert Adams2013-01-231-4/+11
|
* BulletSim: remove the unused RestoreBodyDependencies used by linksetsRobert Adams2013-01-231-18/+2
| | | | and vehicles and clean up code by removing their kludgyness.
* BulletSim: Tweeks to vehicle motion.Robert Adams2013-01-211-1/+2
| | | | | Pass through old angular velocity making for smoother transitions. Remove some old kludges for angular motion (damping and rotvel suppression).
* BulletSim: allow changing position and rotation of a child of a linksetRobert Adams2013-01-211-7/+9
| | | | | without rebuilding the whole compound shape. Should make vehicles move smoother.
* BulletSim: More aggressive as setting character velocity to zeroRobert Adams2013-01-201-4/+9
| | | | | | | | | | | | when should be standing. Modify angular force routines to be the same pattern as linear force routines. BulletSim vehicle turning is scaled like SL and is DIFFERENT THAN ODE!! Fix some bugs in BSMotor dealing with the motor going to zero. Add a bunch of parameters: MaxLinearVelocity, MaxAngularVelocity, MaxAddForceMagnitude, VehicleMaxLinearVelocity, VehicleMaxAngularVelocity, and most of the values are defaulted to values that are larger than in SL. Use the new parameters in BSPrim, BSCharacter and BSDynamic.
* BulletSim: modify motors to return correction rather than current valueRobert Adams2013-01-201-1/+1
| | | | | | | to better use them for incremental updates. Modify prim and character to use the new motors. Simplify the vehicle linear movement code to just update the velocity directly or the basic movement.
* BulletSim: add logic to turn off pre-step actions when object goesRobert Adams2013-01-181-0/+21
| | | | | non-active. This turns off 'setForce', 'setTorque' and 'moveToTarget' when the object is selected or made non-physical.
* BulletSim: Add one function that all actors who act on the physicalRobert Adams2013-01-171-20/+13
| | | | | can use to know if the object is currently active. Code cleaning including use of Util.ClampV function.
* 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.