| Commit message (Collapse) | Author | Files | Lines |
|
|
|
of BulletSim. This is designed to be /as close as possible/ to the BulletSim plugin while still being entirely in the managed space to make keeping it up to date easy as possible (no thinking work). This implementation is /slower/ then the c++ version just because it's fully managed, so it's not appropriate for huge sims, but it will run small ones OK. At the moment, it supports all known features of BulletSim. Think of it like.. POS but everything works. To use this plugin, set the physics plugin to BulletSimN.
|
|
to a separate, static class for easier addition and to remove all that bulk from the BSScene class.
|
|
function to test if a position is over known terrain.
|
|
until after physical object destruction. TerrainManager also made disposable and that feature used.
|
|
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.
|
|
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.
|
|
static objects by more restrictive selection of objects that collide
with static objects.
Rename collision mask fuctions from 'filter' to 'group' so it is clear
what is being set.
Rename BulletSimAPI.SetCollisionFilterMask() to SetCollisionGroupMask to match above.
Restore passing of time step to linear and angular motion component routines.
Use buffering vehicle physical parameter get/set routines consistantly.
Make range enforcement clearer by using ClampInRange() function for parameter setting.
Remove commented out experimental vehicle calculations.
|
|
|
|
Add locking around unlikely but possible race conditions on terrain list.
|
|
conflicts with PhysicsShape type defined in later libOMV
|
|
Simple attempt to make avatars better shaped.
Replace parameter 'avatarCapsuleRadius' with 'avatarCapsuleWidth'
and 'avatarCapsuleDepth'.
More tweeking to avatar height calculation. A little better but
short avatar's feet are above the terrain and tall avatar's feet
are a little below the ground.
|
|
appearing to be working). Centralize terrain shape creation logic. Remove very chatty detail log messages.
|
|
|
|
|
|
mesh terrain can be implemented.
|
|
getting simplified out of existance someday) and update all the references to that enum.
|
|
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.
|
|
party license and contributor in for for Aurora-Sim project for physics code.
|
|
Change terrain activation state to DISABLE_SIMULATION for better performance.
|
|
assets weren't already in the cache. Comment cleanups.
|
|
Various tweekings to avatar shape/mass/inertia/etc.
Remove change from avatar radius to diameter. But still the avatar sinks.
Collision_end now happens immediately rather than at the next subscription time.
|
|
Add new function to ParameterDefn for calling BulletSimAPI to set values.
Tweaking to BSCharacter parameter setting to try and have avatars stand.
|
|
more rigid. Remove mass calculation for terrain (it should stay a static object).
|
|
improve interactions.
|
|
|
|
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.
|
|
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().
|
|
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.
|
|
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.
|
|
tracking in the C# code. Needed for the changing body type
(to and from GhostObjects) for volumeDetect.
|
|
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).
|
|
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.
|
|
'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.
|
|
|
|
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.
|
|
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.
|
|
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.
|