C# Class OpenSim.Region.Physics.Manager.PhysicsScene

Show file Open project: N3X15/VoxelSim Class Usage Examples

Public Methods

Method Description
AddAvatar ( string avName, System.Vector3 position, System.Vector3 size, bool isFlying ) : PhysicsActor
AddPhysicsActorTaint ( PhysicsActor prim ) : void
AddPrimShape ( string primName, OpenSim.Framework.PrimitiveBaseShape pbs, System.Vector3 position, System.Vector3 size, Quaternion rotation ) : PhysicsActor
AddPrimShape ( string primName, OpenSim.Framework.PrimitiveBaseShape pbs, System.Vector3 position, System.Vector3 size, Quaternion rotation, bool isPhysical ) : PhysicsActor
Combine ( PhysicsScene pScene, System.Vector3 offset, System.Vector3 extents ) : void
DeleteTerrain ( ) : void
Dispose ( ) : void
DumpJointInfo ( ) : void
GetJointAnchor ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : System.Vector3
GetJointAxis ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : System.Vector3
GetResults ( ) : void
GetTopColliders ( ) : float>.Dictionary
Initialise ( IMesher meshmerizer, IVoxelMesher voxmesher, IConfigSource config ) : void
RaycastWorld ( System.Vector3 position, System.Vector3 direction, float length, RaycastCallback retMethod ) : void

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.

RemoveAllJointsConnectedToActorThreadLocked ( PhysicsActor actor ) : void
RemoveAvatar ( PhysicsActor actor ) : void
RemovePrim ( PhysicsActor prim ) : void
RequestJointCreation ( string objectNameInScene, PhysicsJointType jointType, System.Vector3 position, Quaternion rotation, string parms, List bodyNames, string trackedBodyName, Quaternion localRotation ) : OpenSim.Region.Physics.Manager.PhysicsJoint
RequestJointDeletion ( string objectNameInScene ) : void
SetTerrain ( bool heightMap ) : void
SetWaterLevel ( float baseheight ) : void
Simulate ( float timeStep ) : float
SupportsCombining ( ) : bool
SupportsRayCast ( ) : bool

True if the physics plugin supports raycasting against the physics scene

TriggerPhysicsBasedRestart ( ) : void
UnCombine ( PhysicsScene pScene ) : void

Protected Methods

Method Description
DoJointDeactivated ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : void
DoJointErrorMessage ( OpenSim.Region.Physics.Manager.PhysicsJoint joint, string message ) : void
DoJointMoved ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : void

Method Details

AddAvatar() public abstract method

public abstract AddAvatar ( string avName, System.Vector3 position, System.Vector3 size, bool isFlying ) : PhysicsActor
avName string
position System.Vector3
size System.Vector3
isFlying bool
return PhysicsActor

AddPhysicsActorTaint() public abstract method

public abstract AddPhysicsActorTaint ( PhysicsActor prim ) : void
prim PhysicsActor
return void

AddPrimShape() public abstract method

public abstract AddPrimShape ( string primName, OpenSim.Framework.PrimitiveBaseShape pbs, System.Vector3 position, System.Vector3 size, Quaternion rotation ) : PhysicsActor
primName string
pbs OpenSim.Framework.PrimitiveBaseShape
position System.Vector3
size System.Vector3
rotation Quaternion
return PhysicsActor

AddPrimShape() public abstract method

public abstract AddPrimShape ( string primName, OpenSim.Framework.PrimitiveBaseShape pbs, System.Vector3 position, System.Vector3 size, Quaternion rotation, bool isPhysical ) : PhysicsActor
primName string
pbs OpenSim.Framework.PrimitiveBaseShape
position System.Vector3
size System.Vector3
rotation Quaternion
isPhysical bool
return PhysicsActor

Combine() public method

public Combine ( PhysicsScene pScene, System.Vector3 offset, System.Vector3 extents ) : void
pScene PhysicsScene
offset System.Vector3
extents System.Vector3
return void

DeleteTerrain() public abstract method

public abstract DeleteTerrain ( ) : void
return void

Dispose() public abstract method

public abstract Dispose ( ) : void
return void

DoJointDeactivated() protected method

protected DoJointDeactivated ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : void
joint OpenSim.Region.Physics.Manager.PhysicsJoint
return void

DoJointErrorMessage() protected method

protected DoJointErrorMessage ( OpenSim.Region.Physics.Manager.PhysicsJoint joint, string message ) : void
joint OpenSim.Region.Physics.Manager.PhysicsJoint
message string
return void

DoJointMoved() protected method

protected DoJointMoved ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : void
joint OpenSim.Region.Physics.Manager.PhysicsJoint
return void

DumpJointInfo() public method

public DumpJointInfo ( ) : void
return void

GetJointAnchor() public method

public GetJointAnchor ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : System.Vector3
joint OpenSim.Region.Physics.Manager.PhysicsJoint
return System.Vector3

GetJointAxis() public method

public GetJointAxis ( OpenSim.Region.Physics.Manager.PhysicsJoint joint ) : System.Vector3
joint OpenSim.Region.Physics.Manager.PhysicsJoint
return System.Vector3

GetResults() public abstract method

public abstract GetResults ( ) : void
return void

GetTopColliders() public abstract method

public abstract GetTopColliders ( ) : float>.Dictionary
return float>.Dictionary

Initialise() public abstract method

public abstract Initialise ( IMesher meshmerizer, IVoxelMesher voxmesher, IConfigSource config ) : void
meshmerizer IMesher
voxmesher IVoxelMesher
config IConfigSource
return void

RaycastWorld() public method

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.
public RaycastWorld ( System.Vector3 position, System.Vector3 direction, float length, RaycastCallback retMethod ) : void
position System.Vector3 Origin of the ray
direction System.Vector3 Direction of the ray
length float Length of ray in meters
retMethod RaycastCallback Method to call when the raycast is complete
return void

RemoveAllJointsConnectedToActorThreadLocked() public method

public RemoveAllJointsConnectedToActorThreadLocked ( PhysicsActor actor ) : void
actor PhysicsActor
return void

RemoveAvatar() public abstract method

public abstract RemoveAvatar ( PhysicsActor actor ) : void
actor PhysicsActor
return void

RemovePrim() public abstract method

public abstract RemovePrim ( PhysicsActor prim ) : void
prim PhysicsActor
return void

RequestJointCreation() public method

public RequestJointCreation ( string objectNameInScene, PhysicsJointType jointType, System.Vector3 position, Quaternion rotation, string parms, List bodyNames, string trackedBodyName, Quaternion localRotation ) : OpenSim.Region.Physics.Manager.PhysicsJoint
objectNameInScene string
jointType PhysicsJointType
position System.Vector3
rotation Quaternion
parms string
bodyNames List
trackedBodyName string
localRotation Quaternion
return OpenSim.Region.Physics.Manager.PhysicsJoint

RequestJointDeletion() public method

public RequestJointDeletion ( string objectNameInScene ) : void
objectNameInScene string
return void

SetTerrain() public abstract method

public abstract SetTerrain ( bool heightMap ) : void
heightMap bool
return void

SetWaterLevel() public abstract method

public abstract SetWaterLevel ( float baseheight ) : void
baseheight float
return void

Simulate() public abstract method

public abstract Simulate ( float timeStep ) : float
timeStep float
return float

SupportsCombining() public method

public SupportsCombining ( ) : bool
return bool

SupportsRayCast() public method

True if the physics plugin supports raycasting against the physics scene
public SupportsRayCast ( ) : bool
return bool

TriggerPhysicsBasedRestart() public method

public TriggerPhysicsBasedRestart ( ) : void
return void

UnCombine() public method

public UnCombine ( PhysicsScene pScene ) : void
pScene PhysicsScene
return void