aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics (follow)
Commit message (Collapse)AuthorAgeFilesLines
* BulletSim: temporarily disable banking and direction deflectionRobert Adams2013-01-152-10/+29
| | | | | because the computations are wrong. Add VehicleTorqueImpulse routines.
* BulletSim: fix logic for enabling unmanaged code debug messages.Robert Adams2013-01-151-1/+14
| | | | Free pinned memory when physics engine is unloaded.
* BulletSim: by default, turn on continuious collision detection (CCD)Robert Adams2013-01-151-3/+3
| | | | | and enable friction computation caching. Remove dangerous BulletSim settings from OpenSimDefaults.ini.
* BulletSim: fix not moving physical objects below terrain to over terrain.Robert Adams2013-01-145-18/+36
| | | | | 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-142-25/+36
| | | | 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-1110-32/+106
| | | | | | | 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 osGetPhysicsEngineType() LSL function and updateRobert Adams2013-01-119-11/+28
| | | | | | | | the physics engines to return the name that is specified in the INI file ("physics = XXX") as the type of engine. This os function is a little different than the others in that it does not throw an exception of one is not privilaged to use it. It merely returns an empty string.
* BulletSim: Add IsSelected attribute to physical objects. Have vehicles check ↵Robert Adams2013-01-114-50/+162
| | | | 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: Redo linear function coding so they can better interact. New ↵Robert Adams2013-01-112-62/+91
| | | | algorithm for limitMotorUp that relies on going up when not colliding rather than distance from ground. Add parameter for turning on and off embedded source vehicle debugging.
* BulletSim: remove double application of buoyancy. Centralize computation of ↵Robert Adams2013-01-114-65/+59
| | | | 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: Fix hover height (boats float at the correct level).Robert Adams2013-01-082-8/+12
| | | | Fix problem of vehicles going crazy when backing up.
* BulletSim: improve vehicle angular banking and deflection computation. ↵Robert Adams2013-01-071-19/+18
| | | | Rotate angular correction forces to be world relative rather than vehicle relative.
* BulletSim: add function to push avatar up when hitting stairs.Robert Adams2013-01-075-27/+119
| | | | | | | | | | 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: fix exception when re-creating the terrain when loading an OAR fileRobert Adams2013-01-071-0/+2
|
* BulletSim: comments and removing small compile errors introduced in last commit.Robert Adams2013-01-063-9/+3
|
* BulletSim: update DLLs and SOs with better debugging output.Robert Adams2013-01-064-12/+151
| | | | | Add definition of hand crafted avatar mesh. Not used yet. Comments and cleanup.
* BulletSim: fix problem where mesh shapes were physically just their bounding ↵Robert Adams2013-01-041-0/+1
| | | | box and not the complete mesh. Fill mesh physical objects are back.
* BulletSim: implement llMoveToTarget by adding PIDActive, etc.Robert Adams2013-01-042-50/+33
| | | | | Implementation of non-vehicle hover but haven't tested it a lot. Update TODO list.
* BulletSim: add some features to the PID motor to make it more flexible.Robert Adams2013-01-041-9/+18
|
* BulletSim: convert avatar movement from a force to an impulse. Shouldn'tRobert Adams2013-01-041-2/+2
| | | | change functionality but removes an oddity in computing the force.
* BulletSim: add initial implementation of llMoveToTarget and hover height.Robert Adams2013-01-041-10/+147
| | | | Not all there yet.
* BulletSim: reorganize motor code a little to pull together common functions.Robert Adams2013-01-041-18/+129
| | | | Add BSFMotor.
* BulletSim: add comments to force and impulse setting functionsRobert Adams2013-01-041-0/+8
| | | | so it is clear what Bullet is actually doing with the set values.
* BulletSim: fix problem where pre-step actions would not replacedRobert Adams2013-01-041-0/+4
| | | | by new registrations thus causing multiple instances of an action.
* BulletSim: add ResetBroadphasePool and ResetConstraintSolver diagnosticRobert Adams2013-01-044-50/+73
| | | | | functions. If values set from console, the functions are called. Looking for why the collision pools fill up with unnecessary stuff.
* BulletSim: add parameter to have Bullet output performance statisticsRobert Adams2013-01-014-7/+11
| | | | every so many frames. Default to off.
* BulletSim: move selection of the unmanaged Bullet DLL from BSPluginRobert Adams2013-01-012-6/+8
| | | | into the unmanaged Bullet interface class.
* BulletSim: move over and port the interface for BulletXNA.Robert Adams2013-01-017-315/+623
| | | | | | | | 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-012-52/+52
|
* BulletSim: subclass Bullet[World|Body|Shape|Constraint] for unmanagedRobert Adams2013-01-016-278/+1806
| | | | | to have pointers and managed to have objects. Initial paste of XNA code. Commented out.
* BulletSim: remove unused unmanaged memory reference functions from ↵Robert Adams2012-12-312-2/+4
| | | | BSAPITemplate.
* BulletSim: remove rigid body contruction functions from BSAPITemplate that ↵Robert Adams2012-12-312-61/+0
| | | | relied on prebuilt construction info structures.
* BulletSim: eliminate the use of the unmanaged HeightMapInfo structure.Robert Adams2012-12-314-42/+20
| | | | | Remove all related calls from the unmanaged and BSAPITemplate interfaces. Update DLLs and SOs to include the version without HeightMapInfo structures.
* BulletSim: complete movement of BulletSimAPI functions to BSAPITemplate.Robert Adams2012-12-3110-194/+311
| | | | Update BulletSim DLLs and SOs with simplier step function interface.
* BulletSim: nearly complete in conversion from BulletSimAPI to BSAPITemplate. ↵Robert Adams2012-12-3115-201/+372
| | | | Only initialization and debug fuctions left.
* BulletSim: remove all the debug printing of pointer formatting ↵Robert Adams2012-12-317-25/+58
| | | | (.ToString(X)) and replace it with a method on BulletBody, BulletShape, ...
* BulletSim: another round of conversion: dynamics world and collision object ↵Robert Adams2012-12-3115-1248/+1454
| | | | functions.
* BulletSim: add the implementation files for the two versions of Bullet:Robert Adams2012-12-312-0/+1146
| | | | unmanaged (C++) and managed (C#).
* BulletSim: first round of conversion from direct BulletSimAPI interfacing by ↵Robert Adams2012-12-3111-839/+234
| | | | BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first.
* BulletSim: change physical data structures to classes. Add defaultRobert Adams2012-12-315-15/+29
| | | | | | instantiations for PhysBody and PhysShape when BSPhysObject is created to account for them being classes and not structures. Update TODO list.
* BulletSim: remove check for small motor movement because, while itRobert Adams2012-12-292-3/+6
| | | | | | did the right thing for stopping (speed reducing to zero), it prevented movement from starting (speed increasing from zero). Will revisit when the generalize PID motor is debugged.
* BulletSim: an 'if' to suppress multiple setting of avatar orientation.Robert Adams2012-12-291-5/+9
| | | | | | | Looks like the viewer bombards the server with avatar orientation information (we're talking several hundred a second) when the avatar is being turned or when walking. This change just reduces the number of 'set' calls into unmanaged code.
* BulletSim: tweeking avatar capsule code in an attempt to haveRobert Adams2012-12-294-46/+81
| | | | | | | | | asymmetrical avatar capsule work now that rotation is being passed from the simulator. Turns out the Bullet capsule is just not very functional: it doesn't scale properly, the implementation only half does asymmetry and, in general, is hard to work with. Avatar shape is about what it was before these changes. Added initial data structures for avatar shape mesh.
* BulletSim: add 'AvatarAlwaysRunFactor' parameter and use in setTargetVelocityRobert Adams2012-12-282-3/+9
| | | | to implement the 'always run' feature.
* BulletSim: fix problem of avatars appearing to walk through wallsRobert Adams2012-12-281-51/+55
| | | | | by moving the movement motor to a pre-step action and out of its questionable previous home in UpdateProperties.
* BulletSim: correct collision mask definition for linkset children.Robert Adams2012-12-274-35/+18
| | | | Remove unused code. Add comments and TODOs.
* 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-274-5/+21
| | | | dynamially turn on/off detailed, unmanaged data dumping of prims and vehicles.
* BulletSim: move logic for IsColliding, CollidingGround and CollidingObj from ↵Robert Adams2012-12-274-39/+55
| | | | individual sub-classes and up to parent BSPhysObject class.