OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Member Functions | Protected Member Functions | Properties | Events | List of all members
OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene Class Referenceabstract
Inheritance diagram for OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene:
Inheritance graph
[legend]

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< ContactResultRaycastWorld (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< ContactResultRaycastActor (PhysicsActor actor, Vector3 position, Vector3 direction, float length, int Count, RayFilterFlags flags)
 
virtual List< ContactResultBoxProbe (Vector3 position, Vector3 size, Quaternion orientation, int Count, RayFilterFlags flags)
 
virtual List< ContactResultSphereProbe (Vector3 position, float radius, int Count, RayFilterFlags flags)
 
virtual List< ContactResultPlaneProbe (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
 

Detailed Description

Definition at line 98 of file PhysicsScene.cs.

Member Function Documentation

abstract PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddAvatar ( string  avName,
Vector3  position,
Vector3  velocity,
Vector3  size,
bool  isFlying 
)
pure virtual
virtual PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddAvatar ( uint  localID,
string  avName,
Vector3  position,
Vector3  velocity,
Vector3  size,
bool  isFlying 
)
inlinevirtual

Add an avatar

Parameters
localID
avName
position
velocity
size
isFlying
Returns

Definition at line 166 of file PhysicsScene.cs.

virtual PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddAvatar ( uint  localID,
string  avName,
Vector3  position,
Vector3  size,
bool  isFlying 
)
inlinevirtual

Definition at line 177 of file PhysicsScene.cs.

virtual PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddAvatar ( uint  localID,
string  avName,
Vector3  position,
Vector3  size,
float  feetOffset,
bool  isFlying 
)
inlinevirtual
abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddPhysicsActorTaint ( PhysicsActor  prim)
pure virtual
abstract PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddPrimShape ( string  primName,
PrimitiveBaseShape  pbs,
Vector3  position,
Vector3  size,
Quaternion  rotation,
bool  isPhysical,
uint  localid 
)
pure virtual
virtual PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddPrimShape ( string  primName,
PhysicsActor  parent,
PrimitiveBaseShape  pbs,
Vector3  position,
uint  localid,
byte[]  sdata 
)
inlinevirtual

Definition at line 206 of file PhysicsScene.cs.

virtual PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddPrimShape ( string  primName,
PrimitiveBaseShape  pbs,
Vector3  position,
Vector3  size,
Quaternion  rotation,
bool  isPhysical,
bool  isPhantom,
uint  localid 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 212 of file PhysicsScene.cs.

virtual PhysicsActor OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.AddPrimShape ( string  primName,
PrimitiveBaseShape  pbs,
Vector3  position,
Vector3  size,
Quaternion  rotation,
bool  isPhysical,
bool  isPhantom,
byte  shapetype,
uint  localid 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 219 of file PhysicsScene.cs.

virtual List<ContactResult> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.BoxProbe ( Vector3  position,
Vector3  size,
Quaternion  orientation,
int  Count,
RayFilterFlags  flags 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 393 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.Combine ( PhysicsScene  pScene,
Vector3  offset,
Vector3  extents 
)
inlinevirtual
virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.CombineTerrain ( float[]  heightMap,
Vector3  pOffset 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 339 of file PhysicsScene.cs.

abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.DeleteTerrain ( )
pure virtual
abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.Dispose ( )
pure virtual
virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.DoJointDeactivated ( PhysicsJoint  joint)
inlineprotectedvirtual

Definition at line 262 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.DoJointErrorMessage ( PhysicsJoint  joint,
string  message 
)
inlineprotectedvirtual

Definition at line 274 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.DoJointMoved ( PhysicsJoint  joint)
inlineprotectedvirtual

Definition at line 250 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.DumpJointInfo ( )
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 245 of file PhysicsScene.cs.

virtual object OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.Extension ( string  pFunct,
params object[]  pParams 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.BulletS.BSScene.

Definition at line 414 of file PhysicsScene.cs.

virtual Vector3 OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.GetJointAnchor ( PhysicsJoint  joint)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 284 of file PhysicsScene.cs.

virtual Vector3 OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.GetJointAxis ( PhysicsJoint  joint)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 287 of file PhysicsScene.cs.

abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.GetResults ( )
pure virtual
virtual Dictionary<string, float> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.GetStats ( )
inlinevirtual

Get statistics about this scene.

This facility is currently experimental and subject to change.

Returns
A dictionary where the key is the statistic name. If no statistics are supplied then returns null.

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 309 of file PhysicsScene.cs.

abstract Dictionary<uint, float> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.GetTopColliders ( )
pure virtual
void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.Initialise ( RequestAssetDelegate  m,
float[]  terrain,
float  waterHeight 
)
inlineprotected

Definition at line 126 of file PhysicsScene.cs.

virtual List<ContactResult> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.PlaneProbe ( PhysicsActor  actor,
Vector4  plane,
int  Count,
RayFilterFlags  flags 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 403 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.ProcessPreSimulation ( )
inlinevirtual
virtual List<ContactResult> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RaycastActor ( PhysicsActor  actor,
Vector3  position,
Vector3  direction,
float  length,
int  Count,
RayFilterFlags  flags 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 388 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RaycastWorld ( Vector3  position,
Vector3  direction,
float  length,
RaycastCallback  retMethod 
)
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.

Parameters
positionOrigin of the ray
directionDirection of the ray
lengthLength of ray in meters
retMethodMethod 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.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RaycastWorld ( Vector3  position,
Vector3  direction,
float  length,
int  Count,
RayCallback  retMethod 
)
inlinevirtual
virtual List<ContactResult> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RaycastWorld ( Vector3  position,
Vector3  direction,
float  length,
int  Count 
)
inlinevirtual
virtual object OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RaycastWorld ( Vector3  position,
Vector3  direction,
float  length,
int  Count,
RayFilterFlags  filter 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 378 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RemoveAllJointsConnectedToActorThreadLocked ( PhysicsActor  actor)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 242 of file PhysicsScene.cs.

abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RemoveAvatar ( PhysicsActor  actor)
pure virtual
abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RemovePrim ( PhysicsActor  prim)
pure virtual
virtual PhysicsJoint OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RequestJointCreation ( string  objectNameInScene,
PhysicsJointType  jointType,
Vector3  position,
Quaternion  rotation,
string  parms,
List< string >  bodyNames,
string  trackedBodyName,
Quaternion  localRotation 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 235 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RequestJointDeletion ( string  objectNameInScene)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ODE.OdeScene.

Definition at line 239 of file PhysicsScene.cs.

abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SetTerrain ( float[]  heightMap)
pure virtual
abstract void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SetWaterLevel ( float  baseheight)
pure virtual
abstract float OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.Simulate ( float  timeStep)
pure virtual
virtual int OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SitAvatar ( PhysicsActor  actor,
Vector3  AbsolutePosition,
Vector3  CameraPosition,
Vector3  offset,
Vector3  AvatarSize,
SitAvatarCallback  PhysicsSitResponse 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 408 of file PhysicsScene.cs.

virtual List<ContactResult> OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SphereProbe ( Vector3  position,
float  radius,
int  Count,
RayFilterFlags  flags 
)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 398 of file PhysicsScene.cs.

virtual bool OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SupportsCombining ( )
inlinevirtual
virtual bool OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SupportsRayCast ( )
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.

virtual bool OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SupportsRaycastWorldFiltered ( )
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.ubOde.ODEScene.

Definition at line 383 of file PhysicsScene.cs.

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.TriggerPhysicsBasedRestart ( )
inlinevirtual

Definition at line 134 of file PhysicsScene.cs.

Here is the call graph for this function:

virtual void OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.UnCombine ( PhysicsScene  pScene)
inlinevirtual

Reimplemented in OpenSim.Region.PhysicsModule.BulletS.BSScene.

Definition at line 340 of file PhysicsScene.cs.

Property Documentation

string OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.EngineType
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.

abstract bool OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.IsThreaded
get

Definition at line 323 of file PhysicsScene.cs.

PhysicsScene OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.Null
staticget

Definition at line 120 of file PhysicsScene.cs.

string OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.PhysicsSceneName
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.

RequestAssetDelegate OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.RequestAssetMethod
getset

Definition at line 124 of file PhysicsScene.cs.

virtual bool OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.SupportsNINJAJoints
get

Definition at line 231 of file PhysicsScene.cs.

virtual float OpenSim.Region.PhysicsModules.SharedBase.PhysicsScene.TimeDilation
get

Definition at line 226 of file PhysicsScene.cs.

Event Documentation

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.


The documentation for this class was generated from the following file: