OpenSim
|
Public Member Functions | |
virtual void | TriggerPhysicsBasedRestart () |
abstract PhysicsActor | AddAvatar (string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying) |
Add an avatar More... | |
virtual PhysicsActor | AddAvatar (uint localID, string avName, Vector3 position, Vector3 velocity, Vector3 size, bool isFlying) |
Add an avatar More... | |
virtual PhysicsActor | AddAvatar (uint localID, string avName, Vector3 position, Vector3 size, bool isFlying) |
virtual PhysicsActor | AddAvatar (uint localID, string avName, Vector3 position, Vector3 size, float feetOffset, bool isFlying) |
abstract void | RemoveAvatar (PhysicsActor actor) |
Remove an avatar. More... | |
abstract void | RemovePrim (PhysicsActor prim) |
Remove a prim. More... | |
abstract PhysicsActor | AddPrimShape (string primName, PrimitiveBaseShape pbs, Vector3 position, Vector3 size, Quaternion rotation, bool isPhysical, uint localid) |
virtual PhysicsActor | AddPrimShape (string primName, PhysicsActor parent, PrimitiveBaseShape pbs, Vector3 position, uint localid, byte[] sdata) |
virtual PhysicsActor | AddPrimShape (string primName, PrimitiveBaseShape pbs, Vector3 position, Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, uint localid) |
virtual PhysicsActor | AddPrimShape (string primName, PrimitiveBaseShape pbs, Vector3 position, Vector3 size, Quaternion rotation, bool isPhysical, bool isPhantom, byte shapetype, uint localid) |
virtual PhysicsJoint | RequestJointCreation (string objectNameInScene, PhysicsJointType jointType, Vector3 position, Quaternion rotation, string parms, List< string > bodyNames, string trackedBodyName, Quaternion localRotation) |
virtual void | RequestJointDeletion (string objectNameInScene) |
virtual void | RemoveAllJointsConnectedToActorThreadLocked (PhysicsActor actor) |
virtual void | DumpJointInfo () |
virtual Vector3 | GetJointAnchor (PhysicsJoint joint) |
virtual Vector3 | GetJointAxis (PhysicsJoint joint) |
abstract void | AddPhysicsActorTaint (PhysicsActor prim) |
virtual void | ProcessPreSimulation () |
abstract float | Simulate (float timeStep) |
Perform a simulation of the current physics scene over the given timestep. More... | |
virtual Dictionary< string, float > | GetStats () |
Get statistics about this scene. More... | |
abstract void | GetResults () |
abstract void | SetTerrain (float[] heightMap) |
abstract void | SetWaterLevel (float baseheight) |
abstract void | DeleteTerrain () |
abstract void | Dispose () |
abstract Dictionary< uint, float > | GetTopColliders () |
virtual bool | SupportsRayCast () |
True if the physics plugin supports raycasting against the physics scene More... | |
virtual bool | SupportsCombining () |
virtual void | Combine (PhysicsScene pScene, Vector3 offset, Vector3 extents) |
virtual void | CombineTerrain (float[] heightMap, Vector3 pOffset) |
virtual void | UnCombine (PhysicsScene pScene) |
virtual void | RaycastWorld (Vector3 position, Vector3 direction, float length, RaycastCallback retMethod) |
Queue a raycast against the physics scene. The provided callback method will be called when the raycast is complete More... | |
virtual void | RaycastWorld (Vector3 position, Vector3 direction, float length, int Count, RayCallback retMethod) |
virtual List< ContactResult > | RaycastWorld (Vector3 position, Vector3 direction, float length, int Count) |
virtual object | RaycastWorld (Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags filter) |
virtual bool | SupportsRaycastWorldFiltered () |
virtual List< ContactResult > | RaycastActor (PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags flags) |
virtual List< ContactResult > | BoxProbe (Vector3 position, Vector3 size, Quaternion orientation, int Count, RayFilterFlags flags) |
virtual List< ContactResult > | SphereProbe (Vector3 position, float radius, int Count, RayFilterFlags flags) |
virtual List< ContactResult > | PlaneProbe (PhysicsActor actor, Vector4 plane, int Count, RayFilterFlags flags) |
virtual int | SitAvatar (PhysicsActor actor, Vector3 AbsolutePosition, Vector3 CameraPosition, Vector3 offset, Vector3 AvatarSize, SitAvatarCallback PhysicsSitResponse) |
virtual object | Extension (string pFunct, params object[] pParams) |
Protected Member Functions | |
void | Initialise (RequestAssetDelegate m, float[] terrain, float waterHeight) |
virtual void | DoJointMoved (PhysicsJoint joint) |
virtual void | DoJointDeactivated (PhysicsJoint joint) |
virtual void | DoJointErrorMessage (PhysicsJoint joint, string message) |
Properties | |
string | PhysicsSceneName [get, set] |
A unique identifying string for this instance of the physics engine. Useful in debug messages to distinguish one OdeScene instance from another. Usually set to include the region name that the physics engine is acting for. More... | |
string | EngineType [get, set] |
A string identifying the family of this physics engine. Most common values returned are "OpenDynamicsEngine" and "BulletSim" but others are possible. More... | |
static PhysicsScene | Null [get] |
RequestAssetDelegate | RequestAssetMethod [get, set] |
virtual float | TimeDilation [get] |
virtual bool | SupportsNINJAJoints [get] |
abstract bool | IsThreaded [get] |
Events | |
physicsCrash | OnPhysicsCrash |
JointMoved | OnJointMoved |
JointDeactivated | OnJointDeactivated |
JointErrorMessage | OnJointErrorMessage |
Definition at line 98 of file PhysicsScene.cs.
|
pure virtual |
Add an avatar
avName | |
position | |
velocity | |
size | |
isFlying |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, OpenSim.Region.PhysicsModule.POS.POSScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlinevirtual |
Add an avatar
localID | |
avName | |
position | |
velocity | |
size | |
isFlying |
Definition at line 166 of file PhysicsScene.cs.
|
inlinevirtual |
Definition at line 177 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene, and OpenSim.Region.PhysicsModule.BulletS.BSScene.
Definition at line 184 of file PhysicsScene.cs.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlinevirtual |
Definition at line 206 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 212 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 219 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 393 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, and OpenSim.Region.PhysicsModule.BulletS.BSScene.
Definition at line 338 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 339 of file PhysicsScene.cs.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, OpenSim.Region.PhysicsModule.POS.POSScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlineprotectedvirtual |
Definition at line 262 of file PhysicsScene.cs.
|
inlineprotectedvirtual |
Definition at line 274 of file PhysicsScene.cs.
|
inlineprotectedvirtual |
Definition at line 250 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 245 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.BulletS.BSScene.
Definition at line 414 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 284 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 287 of file PhysicsScene.cs.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlinevirtual |
Get statistics about this scene.
This facility is currently experimental and subject to change.
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 309 of file PhysicsScene.cs.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlineprotected |
Definition at line 126 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 403 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, and OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 293 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 388 of file PhysicsScene.cs.
|
inlinevirtual |
Queue a raycast against the physics scene. The provided callback method will be called when the raycast is complete
Many physics engines don't support collision testing at the same time as manipulating the physics scene, so we queue the request up and callback a custom method when the raycast is complete. This allows physics engines that give an immediate result to callback immediately and ones that don't, to callback when it gets a result back.
ODE for example will not allow you to change the scene while collision testing or it asserts, 'opteration not valid for locked space'. This includes adding a ray to the scene.
This is named RayCastWorld to not conflict with modrex's Raycast method.
position | Origin of the ray |
direction | Direction of the ray |
length | Length of ray in meters |
retMethod | Method to call when the raycast is complete |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, and OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 361 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, and OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 367 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, and OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 373 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 378 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 242 of file PhysicsScene.cs.
|
pure virtual |
Remove an avatar.
actor |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, OpenSim.Region.PhysicsModule.POS.POSScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
pure virtual |
Remove a prim.
prim |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, OpenSim.Region.PhysicsModule.POS.POSScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 235 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.
Definition at line 239 of file PhysicsScene.cs.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
pure virtual |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
pure virtual |
Perform a simulation of the current physics scene over the given timestep.
timeStep |
Implemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, OpenSim.Region.PhysicsModule.BulletS.BSScene, OpenSim.Region.PhysicsModule.POS.POSScene, OpenSim.Region.PhysicsModule.BasicPhysics.BasicScene, and OpenSim.Region.PhysicsModules.SharedBase.NullPhysicsScene.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 408 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 398 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, OpenSim.Region.PhysicsModule.ubOde.ODEScene, and OpenSim.Region.PhysicsModule.BulletS.BSScene.
Definition at line 333 of file PhysicsScene.cs.
|
inlinevirtual |
True if the physics plugin supports raycasting against the physics scene
Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene, and OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 328 of file PhysicsScene.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.
Definition at line 383 of file PhysicsScene.cs.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in OpenSim.Region.PhysicsModule.BulletS.BSScene.
Definition at line 340 of file PhysicsScene.cs.
|
getset |
A string identifying the family of this physics engine. Most common values returned are "OpenDynamicsEngine" and "BulletSim" but others are possible.
Definition at line 113 of file PhysicsScene.cs.
|
get |
Definition at line 323 of file PhysicsScene.cs.
|
staticget |
Definition at line 120 of file PhysicsScene.cs.
|
getset |
A unique identifying string for this instance of the physics engine. Useful in debug messages to distinguish one OdeScene instance from another. Usually set to include the region name that the physics engine is acting for.
Definition at line 107 of file PhysicsScene.cs.
|
getset |
Definition at line 124 of file PhysicsScene.cs.
|
get |
Definition at line 231 of file PhysicsScene.cs.
|
get |
Definition at line 226 of file PhysicsScene.cs.
JointDeactivated OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.OnJointDeactivated |
Definition at line 260 of file PhysicsScene.cs.
JointErrorMessage OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.OnJointErrorMessage |
Definition at line 272 of file PhysicsScene.cs.
JointMoved OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.OnJointMoved |
Definition at line 248 of file PhysicsScene.cs.
physicsCrash OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.OnPhysicsCrash |
Definition at line 117 of file PhysicsScene.cs.