aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSPrim.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-10-02BulletSim: Add ForcePosition and ForceOrientation to BSPhysObject and to its ↵Robert Adams1-5/+34
children of BSPrim and BSCharacter.
2012-10-02BulletSim: impliment FloatOnWater OS function.Robert Adams1-5/+72
2012-10-02BulletSim: remove warnings for unused variables.Robert Adams1-12/+5
2012-09-28BulletSim: remember to release the physical body and shape when a prim is ↵Robert Adams1-9/+9
destroyed. This fixes many problems with physical linksets.
2012-09-27BulletSim: add separate runtime and taint-time linkset children lists to ↵Robert Adams1-2/+1
keep the creation of constraints separate from runtime.
2012-09-27BulletSim: rename some constraint variables to be consistant with other name ↵Robert Adams1-3/+11
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.
2012-09-27BulletSim: remove the trailing spaces from lines to make git happierRobert Adams1-106/+106
2012-09-27BulletSim: remove the unused body management code from BSPrim. There is no ↵Robert Adams1-374/+0
going back now.
2012-09-27BulletSim: Fix linkset crash. Caused by the different body and shapeRobert Adams1-5/+17
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.
2012-09-27BulletSim: Terrain sets proper collision flags on creation.Robert Adams1-32/+30
Static objects are set to ISLAND_SLEEPING rather than DISABLE_SIMULATION. Might reconsider this and, alternatively, have dynamic objects force activation. Clean up use of DetailLog().
2012-09-27BulletSim: btGhostObjects working to make 'volume detect' work.Robert Adams1-6/+22
Rearrangement and cleanup of shape collection code. Much more readable. Enabling and use of collision filters and masks. Addition of ID to body creation BulletSimAPI calls so always set in shape for collision reporting. Change default of ShouldSplitSimulationIslands and ShouldRandomizeSolverOrder from 'false' to 'true'. When 'false', this suppresses NO_CONTACT_RESPONSE which makes volume detect fail.
2012-09-27BulletSim: renamed members of BulletShape, BulletSim and BulletBodyRobert Adams1-59/+100
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.
2012-09-27BulletSim: fix regression that caused cylindar shapes to have a box ↵Robert Adams1-1/+9
collision shape
2012-09-27BulletSim: complete code for managed code shape and body tracking. Not debugged.Robert Adams1-43/+78
Eliminate some null exceptions created adding the above code. Add and remove some detailed logging statements.
2012-09-27BulletSim: add class and infrastructure for shape and objectRobert Adams1-6/+41
tracking in the C# code. Needed for the changing body type (to and from GhostObjects) for volumeDetect.
2012-09-27BulletSim: Convert BSCharacter to use common BSPhysObject code and variables.Robert Adams1-27/+13
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).
2012-09-27BulletSim: move a bunch of common logic out of BSPrim and BSCharacterRobert Adams1-160/+72
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'.
2012-09-15BulletSim: some debugging prints in BSPrim for tracking changes in linkset ↵Robert Adams1-1/+3
children.
2012-09-15BulletSim: remove timeStep parameter from calls for vehicle parameter ↵Robert Adams1-3/+3
setting. There is no reason these should be using the simulation time interval for parameter calculation.
2012-09-15BulletSim: Remove calculation and passing of unused collied object type.Robert Adams1-6/+22
Fix collision code to properly sense mega-region children regions as terrain. When setting an object physical, reset all the physical properties (friction, ...).
2012-09-15BulletSim: Add calls to linkset class when object going static or dynamic.Robert Adams1-6/+14
Reset center of mass on an object when going dynamic.
2012-09-15BulletSim: Way too many changes in one commit.Robert Adams1-78/+118
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.
2012-09-07BulletSim: Add Bullet body and shape to BSPhysObject and renameRobert Adams1-19/+77
'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.
2012-09-07BulletSim: Add some comments (gasp) and log messages.Robert Adams1-0/+5
2012-09-07BulletSim: PhysicsActorType() now returns the correct value rather than ↵Robert Adams1-2/+2
'unknown'.
2012-09-07BulletSim: Modify collision flag calls to return the current flags.Robert Adams1-4/+5
Track current collision flags in BSPrim. Add BulletSimAPI calls for saving and restoring rigidBodies using construction information structure.
2012-08-31BulletSim: Changes to terrain storage and management so mega-regions work.Robert Adams1-1/+1
Moved all terrain code out of BSScene and into new BSTerrainManager. Added logic to manage multiple terrains for mega-regions. Added new functions to BulletSimAPI to match the library. Moved all of the terrain creation and setup logic from C++ code to C# code. The unused code has not yet been removed from either place. Soon. Moved checks for avatar above ground and in bounds into BSCharacter.
2012-08-31BulletSim: unify physical objects under BSPhysObjects. Now BSScene and ↵Robert Adams1-48/+36
BSLinkset only know of BSPhysObject's and there is only one list to search in BSScene.
2012-08-17BulletSim: Properly regenerate hulls when objects made physical.Robert Adams1-9/+25
This fixes the problem of non-base shapes (cubes and spheres) falling through the terrain.
2012-08-17BulletSim: restore most of the Detail logging statements. Will haveRobert Adams1-22/+24
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.
2012-08-17BulletSim: add parameters and functionality to specify the meshRobert Adams1-6/+8
level of detail for large meshes. Remove parameter and code for DetailLog (conditional logging into regular log file).
2012-08-17BulletSim: comments and parameter changes in dynamics engine.Robert Adams1-3/+3
2012-08-15BulletSim: make it so objects in a linkset do not generate collisions with ↵Robert Adams1-0/+10
each other.
2012-08-15BulletSim: clean up detail logging by adding many more debug log statements ↵Robert Adams1-29/+31
and then commenting out most of the additions.
2012-08-15BulletSim: don't recreate mesh unless it needs it when rebuilding the hull. ↵Robert Adams1-15/+15
Make sure the collisionCollection is reallocated each tick to fix race condition of it being cleared while still in use.
2012-08-10BulletSim: many, many detailed logging messages for physical linksetRobert Adams1-27/+31
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.
2012-08-10BulletSim: Add module names to DetailLog output. Fix some problems with ↵Robert Adams1-31/+38
linksets that were caused by checking data structures that are changed regularly from taint time code -- resulted in linksets not being unlinked properly.
2012-08-09BulletSim: add an identifier to the TaintObject call so exceptions that ↵Robert Adams1-27/+22
happen when the taint is invoked can be debugged
2012-08-09BulletSim: separate out the constraints by type. The linksets useRobert Adams1-7/+8
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.
2012-08-08BulletSim: add avatar code to keep avatars from ending up trapped under the ↵Robert Adams1-3/+1
terrain
2012-08-07BulletSim: Added avatar capsule scaling for size of avatar.Robert Adams1-4/+4
This also fixes computation of avatar mass. Added parameter MaxPersistantManifoldPoolSize. Fixed a parameter setting bug which caused crashes of there were more than 400 or so physical objects. I tested up to 5000. Updated BulletSim DLLs and SOs.
2012-08-03BulletSim: pass collision subscription information to the C++ code so ↵Robert Adams1-2/+14
collisions on objects that don't care are not reported up.
2012-08-03BulletSim: Add AddObjectForce to BulletSim API.Robert Adams1-17/+12
Add interface 2 enhancements to BSCharacter. Modify AddForce and SetForce to use the new Bullet interface. More DetailLog statements for character.
2012-08-02BulletSim: Debugging log statements added. Reduced size of updata buffer ↵Robert Adams1-1/+3
trying to find a corrupted memory problem. Update DLL and SO.
2012-07-31BulletSim: fix problem where resizing a primary shape (cube or sphere) would ↵Robert Adams1-4/+2
not rebuild the physics mesh. Update the DLLs and SOs to latest version.
2012-07-31BulletSim: change boolean parameters in the shape data from int's to float's ↵Robert Adams1-2/+6
to be consistant with parameter data structure
2012-07-31BulletSim: add parameters and API calls for setting ERP and CFM.Robert Adams1-12/+26
Set ERP and CFM in linkset constraints. Reorder rebuilding of object bodies so they are not rebuilt everytime something is linked and unlinked.
2012-07-26BulletSim: fix a recursive loop when fetching the mass of the root of a linkset.Robert Adams1-1/+1
2012-07-26BulletSim: refactor all the linkset logic out of the prim classRobert Adams1-232/+95
and into its own class. The BulletSim data structures track individual prims as linksets of 1 so most of the prim code is not different between a linked and unlinked object.
2012-07-25BulletSim: add parameters for setting linkset constraint factorsRobert Adams1-15/+9