aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/BulletSPlugin/BSScene.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-10-19BulletSim: change nonimal physics frame rate to 55 to give same numbers as ODE.Robert Adams1-13/+13
Change character scaling to represent size of capsule (diameter rather than radius) Modify create capsule call to pass radius and height. Eliminate errors when calculating shape inertia (should have some type checking).
2012-10-19BulletSim: remove code in ShapeCollection that hinted at shape sharing.Robert Adams1-47/+67
Add new function to ParameterDefn for calling BulletSimAPI to set values. Tweaking to BSCharacter parameter setting to try and have avatars stand.
2012-10-19BulletSim: Fix small problems with last patch: BSScene.World properly ↵Robert Adams1-9/+4
initialized and setting of C++ parameters commented out. Comments and logging added.
2012-10-19BulletSim: Update BSCharacter to use API2 interface.Robert Adams1-5/+16
Add capsule shape to BSShapeCollection(). Remember last updated values so inter frame diffs can be computed. Parameterize avatarStandingFriction and reduce to 10 from 999. The latter high value made avatars very hard to push. Set CCD parameters for prims and characters of specified.
2012-10-11BulletSim: normalize physics FPS to 45 (for real this time).Robert Adams1-2/+2
2012-10-11BulletSim: normalize physics FPS to 45.Robert Adams1-3/+4
2012-10-11BulletSim: Change defaults for constraint CFM and ERP to make large linksets ↵Robert Adams1-2/+2
more rigid. Remove mass calculation for terrain (it should stay a static object).
2012-10-11BulletSim: cosmetic changes (comments and renaming). Give mass to terrain to ↵Robert Adams1-5/+4
improve interactions.
2012-10-11BulletSim: Add Force* operations to objects to allow direct push to engine.Robert Adams1-18/+47
Update BSDynamics to use same (don't want to delay updates til next taint-time. Suppress queuing a taint update for position and orientation calls if value does not change. Move Bullet timing statistics call from C# back to C++ code. Throttle taints per simulation step and add parameter to set. By default, don't create hulls for physical objects. Add a parameter to turn on and off.
2012-10-11BulletSim: Fix crash when linking large physical linksets.Robert Adams1-4/+7
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.
2012-10-02BulletSim: Make parameter value defaults match what should be the default ↵Robert Adams1-13/+13
and what is in OpenSimDefaults.ini. Comment and debug printout changes.
2012-09-27BulletSim: remove the trailing spaces from lines to make git happierRobert Adams1-13/+13
2012-09-27BulletSim: Fix linkset crash. Caused by the different body and shapeRobert Adams1-2/+5
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: btGhostObjects working to make 'volume detect' work.Robert Adams1-10/+14
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-1/+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.
2012-09-27BulletSim: add class and infrastructure for shape and objectRobert Adams1-6/+10
tracking in the C# code. Needed for the changing body type (to and from GhostObjects) for volumeDetect.
2012-09-27BulletSim: move a bunch of common logic out of BSPrim and BSCharacterRobert Adams1-19/+41
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: another attempt at computing physics FPS correctly.Robert Adams1-23/+6
2012-09-15BulletSim: Remove calculation and passing of unused collied object type.Robert Adams1-16/+10
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: remove unused NeedsMeshing() code from BSScene.Robert Adams1-116/+0
2012-09-15BulletSim: Way too many changes in one commit.Robert Adams1-26/+41
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-08-31BulletSim: Update BulletSimAPI to match the DLL interface.Robert Adams1-1/+1
Major rework of terrain management which finally makes mega-regions work. Update heightmap of terrain by rebuilding the terrain's body and shape. There is a problem with just replacing the shape so this workaround will do for the moment but it will need to be resolved for mesh and hull switching.
2012-08-31BulletSim: clean up some variable naming for consistancy.Robert Adams1-6/+7
Update DLL API for new terrain and shape/body pattern methods. Terrain creation and modification uses new shape/body pattern. Move debug logging callback set to initialization call so logging is per physics engine.
2012-08-31BulletSim: fix line endings.Robert Adams1-22/+22
2012-08-31BulletSim: Changes to terrain storage and management so mega-regions work.Robert Adams1-108/+137
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-76/+61
BSLinkset only know of BSPhysObject's and there is only one list to search in BSScene.
2012-08-17BulletSim: restore most of the Detail logging statements. Will haveRobert Adams1-4/+12
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-28/+26
level of detail for large meshes. Remove parameter and code for DetailLog (conditional logging into regular log file).
2012-08-15BulletSim: make it so objects in a linkset do not generate collisions with ↵Robert Adams1-2/+10
each other.
2012-08-15BulletSim: clean up detail logging by adding many more debug log statements ↵Robert Adams1-4/+4
and then commenting out most of the additions.
2012-08-15BulletSim: fix problem of a null reference exception on shutdown if there ↵Robert Adams1-12/+13
were linksets in the region.
2012-08-15BulletSim: rework physics FPS calculation to make a more realistic number.Robert Adams1-3/+8
2012-08-10BulletSim: many, many detailed logging messages for physical linksetRobert Adams1-4/+23
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-09BulletSim: add an identifier to the TaintObject call so exceptions that ↵Robert Adams1-12/+22
happen when the taint is invoked can be debugged
2012-08-08BulletSim: add avatar code to keep avatars from ending up trapped under the ↵Robert Adams1-13/+13
terrain
2012-08-07BulletSim: Added avatar capsule scaling for size of avatar.Robert Adams1-3/+8
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-06BulletSim: update SOs and DLLs to run on more Linux versions. Correct ↵Robert Adams1-1/+1
multiple buoyancy settings when character flying. Remove chatty log message on prim destruction.
2012-08-02BulletSim: Debugging log statements added. Reduced size of updata buffer ↵Robert Adams1-5/+24
trying to find a corrupted memory problem. Update DLL and SO.
2012-07-31BulletSim: add parameters and API calls for setting ERP and CFM.Robert Adams1-1/+33
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: refactor all the linkset logic out of the prim classRobert Adams1-2/+5
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-2/+23
2012-07-25BulletSim: Redo parameter specification so only one place hasRobert Adams1-248/+378
to change to have a parameter show up in the ini file and command line. Will make it much easier for the next person.
2012-07-23BulletSim: add Dispose() code to free up resources and close log files.Robert Adams1-0/+21
2012-07-20BulletSim: add reference to OpenSim.Region.CoreModules in BSScene.cs ↵Robert Adams1-1/+2
attempting to fix a mono compile error.
2012-07-20BulletSim: more detail logging for vehicle and general physics debugging.Robert Adams1-28/+20
Physical linksets are fully functional. Tweeking of the vehicle code to make it semi-work. Utilize the new API2 for some setting operations. Add GetOrientation() API call for proper reporting of children of linksets. Changes the interface between C# and C++ code so old DLLs won't work!
2012-07-20BulletSim: Add very detailed logging to BSDynamics for vehicle debuggingRobert Adams1-3/+57
2012-07-20BulletSim: Add PID variables to physical scene. Not PIDing yet, but soon.Robert Adams1-0/+13
Cleaned up code and got rid of compile warnings.
2012-07-20BulletSim: Add detailed and voluminous debug logging that is enabledRobert Adams1-19/+34
with an ini configuration parameter. Correct computation of relative offsets of children in a linkset. Remove a prim from any link relationship before deleting it. Minor code flow cleanups.
2012-07-06Clean up collision reporting code so they are properly passed toRobert Adams1-5/+18
the simulator in batches. More comments.
2012-03-26BulletSim: make avatar animations update properly.Robert Adams1-0/+15
It seems that ODE calls the avatar collision handling routine even if there are no collisions. This causes the animation to be updated. So, for instance, going from HOVER to FLY is caused by the physics engine calling the collision routine each frame with 0 collisions.