C# Class Universe.Physics.OpenDynamicsEngine.ODERayCastRequestManager

Processes raycast requests as ODE is in a state to be able to do them. This ensures that it's thread safe and there will be no conflicts. Requests get returned by a different thread then they were requested by.
Afficher le fichier Open project: Virtual-Universe/Virtual-Universe Class Usage Examples

Protected Properties

Свойство Type Description
ContactgeomsArray System.IntPtr
contactsPerCollision int
m_PendingRayRequests List
m_PendingRequests List

Méthodes publiques

Méthode Description
ODERayCastRequestManager ( ODEPhysicsScene pScene ) : System
ProcessQueuedRequests ( ) : int

Process all queued raycast requests

QueueRequest ( System.Vector3 position, System.Vector3 direction, float length, RaycastCallback retMethod ) : void

Queues a raycast

QueueRequest ( System.Vector3 position, System.Vector3 direction, float length, int count, RayCallback retMethod ) : void

Queues a raycast

Méthodes protégées

Méthode Description
NearSpace ( IntPtr space, IntPtr g1, IntPtr g2 ) : void
RayCast ( ODERayCastRequest req ) : void

Method that actually initiates the raycast

RayCast ( ODERayRequest req ) : void

Method that actually initiates the raycast

Private Methods

Méthode Description
Dispose ( ) : void

Dereference the creator scene so that it can be garbage collected if needed.

GetCurContactGeom ( int index, d &newcontactgeom ) : bool

Method Details

NearSpace() protected méthode

protected NearSpace ( IntPtr space, IntPtr g1, IntPtr g2 ) : void
space System.IntPtr
g1 System.IntPtr
g2 System.IntPtr
Résultat void

ODERayCastRequestManager() public méthode

public ODERayCastRequestManager ( ODEPhysicsScene pScene ) : System
pScene ODEPhysicsScene
Résultat System

ProcessQueuedRequests() public méthode

Process all queued raycast requests
public ProcessQueuedRequests ( ) : int
Résultat int

QueueRequest() public méthode

Queues a raycast
public QueueRequest ( System.Vector3 position, System.Vector3 direction, float length, RaycastCallback retMethod ) : void
position System.Vector3 Origin of Ray
direction System.Vector3 Ray normal
length float Ray length
retMethod RaycastCallback Return method to send the results
Résultat void

QueueRequest() public méthode

Queues a raycast
public QueueRequest ( System.Vector3 position, System.Vector3 direction, float length, int count, RayCallback retMethod ) : void
position System.Vector3 Origin of Ray
direction System.Vector3 Ray normal
length float Ray length
count int Ray count
retMethod RayCallback Return method to send the results
Résultat void

RayCast() protected méthode

Method that actually initiates the raycast
protected RayCast ( ODERayCastRequest req ) : void
req ODERayCastRequest
Résultat void

RayCast() protected méthode

Method that actually initiates the raycast
protected RayCast ( ODERayRequest req ) : void
req ODERayRequest
Résultat void

Property Details

ContactgeomsArray protected_oe property

protected IntPtr,System ContactgeomsArray
Résultat System.IntPtr

contactsPerCollision protected_oe property

ODE contact array to be filled by the collision testing
protected int contactsPerCollision
Résultat int

m_PendingRayRequests protected_oe property

Pending Raycast Requests
protected List m_PendingRayRequests
Résultat List

m_PendingRequests protected_oe property

Pending Raycast Requests
protected List m_PendingRequests
Résultat List