aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSLinkset.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* BulletSim: fix build break introduced by previous commitRobert Adams2013-01-231-5/+0
|
* BulletSim: allow changing position and rotation of a child of a linksetRobert Adams2013-01-211-1/+1
| | | | | without rebuilding the whole compound shape. Should make vehicles move smoother.
* BulletSim: move center of gravity of linkset to its geometric center.Robert Adams2013-01-111-1/+3
| | | | | | | 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: Fix single physical prim reporting its mass as zero.Robert Adams2012-12-241-12/+8
| | | | | | | 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: Move all the parameter variables, tables and get and fetch logic ↵Robert Adams2012-12-211-1/+1
| | | | to a separate, static class for easier addition and to remove all that bulk from the BSScene class.
* BulletSim: add parameter to UpdateProperties call into the linkset so ↵Robert Adams2012-12-161-1/+2
| | | | 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-7/+1
| | | | doesn't need to do that bookkeeping because SOG/SOP already does it.
* BulletSim: fix problem with continuious rebuilding of physical linksets. ↵Robert Adams2012-12-131-2/+7
| | | | This caused movement problems and large prim vehicles to take up a LOT of simulation time.
* BulletSim: Fix crash on the destruction of physical linksets.Robert Adams2012-12-101-0/+8
| | | | | | | | | 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.
* Rename BulletSim's PhysicsShapeType to BSPhysicsShapeType because itMelanie2012-11-221-2/+2
| | | | conflicts with PhysicsShape type defined in later libOMV
* BulletSim: uplevel PhysicsShapeType out of ShapeData structure (since it is ↵Robert Adams2012-11-211-2/+2
| | | | getting simplified out of existance someday) and update all the references to that enum.
* BulletSim: only compute linkset mass when membership changes rather than ↵Robert Adams2012-11-061-2/+6
| | | | everytime someone asks for it.
* BulletSim: parameterize selection of linkset implementationRobert Adams2012-11-031-10/+18
|
* BulletSim: debugging of compound shape implementation of linksets.Robert Adams2012-11-031-5/+14
| | | | | | | | | 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.
* BulletSim: Add RawPosition and RawOrientation to BSPhysObject and rename ↵Robert Adams2012-11-031-8/+8
| | | | 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.
* BulletSim: Remove use of shapeData in ShapeCollection and rely on the ↵Robert Adams2012-11-031-0/+5
| | | | available BSPhysObject varaiables. Fix line endings in BSLinksetCompound.
* BulletSim: rename BSBody and BSShape to PhysBody and PhysShape. Add skeleton ↵Robert Adams2012-11-031-7/+0
| | | | of BSLinksetCompound.
* BulletSim: remove center-of-mass setting for linksets because it causes the ↵Robert Adams2012-11-031-1/+0
| | | | constraint calculation to pull the objects together.
* BulletSim: Use the PostTaints operation to build the linkset once before the ↵Robert Adams2012-11-031-32/+20
| | | | next simulation step. This eliminates the management of children vs taintChildren and simplifies the constratin creation code.
* BulletSim: remove unneeded parameter from Refresh().Robert Adams2012-11-031-1/+1
|
* BulletSim: add ForEachMember(action) call for linkset.Robert Adams2012-11-031-8/+28
|
* BulletSim: Add banking and other new code to vechile dynamics. Add third ↵Robert Adams2012-11-031-0/+2
| | | | party license and contributor in for for Aurora-Sim project for physics code.
* BulletSim: fix bug that caused error (and a crash on 32 bit Linux) when mesh ↵Robert Adams2012-10-221-5/+8
| | | | assets weren't already in the cache. Comment cleanups.
* BulletSim: Create LinkSet abstract class and sparate constraint based ↵Robert Adams2012-10-221-318/+37
| | | | linksets into own subclass. Will eventually add manual movement linkset subclass.
* BulletSim: Use full linkset mass when computing vehicle gravity force. Add ↵Robert Adams2012-10-111-6/+3
| | | | taint-time specification to new AddForce().
* BulletSim: cosmetic changes (comments and renaming). Give mass to terrain to ↵Robert Adams2012-10-111-18/+37
| | | | improve interactions.
* BulletSim: Fix crash when linking large physical linksets.Robert Adams2012-10-111-74/+63
| | | | | | | | 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.
* BulletSim: Fix linkset problem where delayed manipulations of child objects ↵Robert Adams2012-10-021-10/+8
| | | | was using the child shape address at call time rather than the one created at taint time.
* BulletSim: remove warnings for unused variables.Robert Adams2012-10-021-1/+1
|
* BulletSim: add separate runtime and taint-time linkset children lists to ↵Robert Adams2012-09-271-67/+78
| | | | keep the creation of constraints separate from runtime.
* BulletSim: rename some constraint variables to be consistant with other name ↵Robert Adams2012-09-271-65/+117
| | | | | | | | | 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.
* BulletSim: remove the trailing spaces from lines to make git happierRobert Adams2012-09-271-15/+15
|
* BulletSim: Fix linkset crash. Caused by the different body and shapeRobert Adams2012-09-271-15/+60
| | | | | | | 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.
* BulletSim: renamed members of BulletShape, BulletSim and BulletBodyRobert Adams2012-09-271-3/+3
| | | | | | | | | | | | 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.
* BulletSim: Convert BSCharacter to use common BSPhysObject code and variables.Robert Adams2012-09-271-11/+17
| | | | | | | Fix avatar height calculation to properly account for the capsule ends. Rearrange some locking in TerrainManager to eliminate possible race conditions. Move DetailLog() definition into common BSPhysObject class. Some variable renaming to make usage clearer (refactor.rename makes this so easy).
* BulletSim: move a bunch of common logic out of BSPrim and BSCharacterRobert Adams2012-09-271-22/+20
| | | | | | and into the parent class BSPhysObject. Rework collision logic to enable extra collision after done colliding. Rename 'Scene' to 'PhysicsScene' to differentiate it from the simulator 'Scene'.
* BulletSim: set all linkset objects center of mass to the whole linkset's ↵Robert Adams2012-09-151-2/+15
| | | | center of mass
* BulletSim: Add calls to linkset class when object going static or dynamic.Robert Adams2012-09-151-2/+18
| | | | Reset center of mass on an object when going dynamic.
* BulletSim: Way too many changes in one commit.Robert Adams2012-09-151-7/+25
| | | | | | | | | | | | | | | | | | | | Many changes to BSDynamic for readability and commentary. Linkset hacking for vehicles: don't over mass the root prim. Add parameter for link constraint solver iterations. Correct uses of timestep in timescale calculations for vehicles. Reorganize code/logic for making objects static and dynamic for readability and use of API2. Changed most calls in BSPrim to use API2 calls (the new way). Avatars do not generate default Bullet collision events but do call up to the simulator for every avatar. Reduces overhead. Objects added to collision list only if they are processing collisions. Reduces overhead especially for large numbers of avatars. Generalize call for water height to GetWaterHeightAtXYZ(). Catch and correct exception getting terrain height when out of bounds. Correct race condition in Terrain Manager where creation wasn't at taint-time. Add API calls for constructing compound shapes. Move NeedsMeshing() logic into object class. Reorganize logic for object meshing to reduce rebuilding of meshs/hulls.
* BulletSim: Add Bullet body and shape to BSPhysObject and renameRobert Adams2012-09-071-5/+5
| | | | | | | | | 'Body' to 'BSBody' for disambiguation when reading code. Complete the API2 interface so nearly all methods on bullet classes are available to the managed code. The efficient single call simulation step is kept in place while all other creation/destruction/parameterization can be done in the managed code.
* BulletSim: Add some comments (gasp) and log messages.Robert Adams2012-09-071-2/+2
|
* BulletSim: unify physical objects under BSPhysObjects. Now BSScene and ↵Robert Adams2012-08-311-25/+25
| | | | BSLinkset only know of BSPhysObject's and there is only one list to search in BSScene.
* BulletSim: restore most of the Detail logging statements. Will haveRobert Adams2012-08-171-4/+4
| | | | | | | no effect on non-logging running. Capture region name that is passed to the physics engine and use it for detail logging file name prefix. Fix problem with avatars dropping when flying across region boundries.
* BulletSim: add parameters and functionality to specify the meshRobert Adams2012-08-171-14/+0
| | | | | | level of detail for large meshes. Remove parameter and code for DetailLog (conditional logging into regular log file).
* BulletSim: make it so objects in a linkset do not generate collisions with ↵Robert Adams2012-08-151-0/+7
| | | | each other.
* BulletSim: add locking to constraintCollection and rename some of the public ↵Robert Adams2012-08-151-98/+152
| | | | method variables to reduce confusion between a physics scene and the real scene.
* BulletSim: many, many detailed logging messages for physical linksetRobert Adams2012-08-101-7/+7
| | | | | | | | debugging. Linkset bugs fixed where accounting of children would get lost. Moved scene based vehicle tracking logic from prim to the scene. Added GetCollisionFlags2 method to BulletSimAPI. Updated DLLs and SOs.
* BulletSim: Add module names to DetailLog output. Fix some problems with ↵Robert Adams2012-08-101-30/+27
| | | | linksets that were caused by checking data structures that are changed regularly from taint time code -- resulted in linksets not being unlinked properly.
* BulletSim: add an identifier to the TaintObject call so exceptions that ↵Robert Adams2012-08-091-2/+2
| | | | happen when the taint is invoked can be debugged
* BulletSim: separate out the constraints by type. The linksets useRobert Adams2012-08-091-11/+27
| | | | | | 6dof constraint but eventually others will be exposed so future features can use all the Bullet capabilities. Force children to generate a position update when unlinked.