C# 클래스 Jitter.Collision.CollisionSystemPersistentSAP

Full 3-Axis SweepAndPrune using persistent updates.
상속: CollisionSystem
파일 보기 프로젝트 열기: tpb3d/TPB3D 1 사용 예제들

공개 메소드들

메소드 설명
AddEntity ( IBroadphaseEntity body ) : void
CollisionSystemPersistentSAP ( ) : System
Detect ( bool multiThreaded ) : void

Tells the collisionsystem to check all bodies for collisions. Hook into the CollisionSystem.PassedBroadphase and CollisionSystem.CollisionDetected events to get the results.

Raycast ( Jitter.LinearMath.JVector rayOrigin, Jitter.LinearMath.JVector rayDirection, RaycastCallback raycast, RigidBody &body, Jitter.LinearMath.JVector &normal, float &fraction ) : bool

Sends a ray (definied by start and direction) through the scene (all bodies added). NOTE: For performance reasons terrain and trianglemeshshape aren't checked against rays (rays are of infinite length). They are checked against segments which start at rayOrigin and end in rayOrigin + rayDirection.

Raycast ( RigidBody body, Jitter.LinearMath.JVector rayOrigin, Jitter.LinearMath.JVector rayDirection, Jitter.LinearMath.JVector &normal, float &fraction ) : bool

Raycasts a single body. NOTE: For performance reasons terrain and trianglemeshshape aren't checked against rays (rays are of infinite length). They are checked against segments which start at rayOrigin and end in rayOrigin + rayDirection.

RemoveEntity ( IBroadphaseEntity body ) : bool

비공개 메소드들

메소드 설명
DetectCallback ( object obj ) : void
DirtySortAxis ( List axis ) : void
QuickSort ( SweepPoint sweepPoint1, SweepPoint sweepPoint2 ) : int
ResizeMatrix ( int growValue ) : void
SortAxis ( List axis ) : void
SortCallback ( object obj ) : void

메소드 상세

AddEntity() 공개 메소드

public AddEntity ( IBroadphaseEntity body ) : void
body IBroadphaseEntity
리턴 void

CollisionSystemPersistentSAP() 공개 메소드

public CollisionSystemPersistentSAP ( ) : System
리턴 System

Detect() 공개 메소드

Tells the collisionsystem to check all bodies for collisions. Hook into the CollisionSystem.PassedBroadphase and CollisionSystem.CollisionDetected events to get the results.
public Detect ( bool multiThreaded ) : void
multiThreaded bool If true internal multithreading is used.
리턴 void

Raycast() 공개 메소드

Sends a ray (definied by start and direction) through the scene (all bodies added). NOTE: For performance reasons terrain and trianglemeshshape aren't checked against rays (rays are of infinite length). They are checked against segments which start at rayOrigin and end in rayOrigin + rayDirection.
public Raycast ( Jitter.LinearMath.JVector rayOrigin, Jitter.LinearMath.JVector rayDirection, RaycastCallback raycast, RigidBody &body, Jitter.LinearMath.JVector &normal, float &fraction ) : bool
rayOrigin Jitter.LinearMath.JVector
rayDirection Jitter.LinearMath.JVector
raycast RaycastCallback
body RigidBody
normal Jitter.LinearMath.JVector
fraction float
리턴 bool

Raycast() 공개 메소드

Raycasts a single body. NOTE: For performance reasons terrain and trianglemeshshape aren't checked against rays (rays are of infinite length). They are checked against segments which start at rayOrigin and end in rayOrigin + rayDirection.
public Raycast ( RigidBody body, Jitter.LinearMath.JVector rayOrigin, Jitter.LinearMath.JVector rayDirection, Jitter.LinearMath.JVector &normal, float &fraction ) : bool
body RigidBody
rayOrigin Jitter.LinearMath.JVector
rayDirection Jitter.LinearMath.JVector
normal Jitter.LinearMath.JVector
fraction float
리턴 bool

RemoveEntity() 공개 메소드

public RemoveEntity ( IBroadphaseEntity body ) : bool
body IBroadphaseEntity
리턴 bool