C# 클래스 Jitter.Collision.Shapes.CompoundShape

A Shape representing a compoundShape consisting of several 'sub' shapes.
상속: Jitter.Collision.Shapes.Multishape
파일 보기 프로젝트 열기: tpb3d/TPB3D 1 사용 예제들

공개 메소드들

메소드 설명
CalculateMassInertia ( ) : void
CompoundShape ( List shapes ) : System

Created a new instance of the CompountShape class.

CompoundShape ( TransformedShape shapes ) : System
GetBoundingBox ( Jitter.LinearMath.JMatrix &orientation, Jitter.LinearMath.JBBox &box ) : void

Gets the axis aligned bounding box of the orientated shape. (Inlcuding all 'sub' shapes)

MakeHull ( List &triangleList, int generationThreshold ) : void
Prepare ( Jitter.LinearMath.JBBox &box ) : int

Passes a axis aligned bounding box to the shape where collision could occour.

Prepare ( Jitter.LinearMath.JVector &rayOrigin, Jitter.LinearMath.JVector &rayEnd ) : int

SetCurrentShape ( int index ) : void

Sets the current shape. First CompoundShape.Prepare has to be called. After SetCurrentShape the shape immitates another shape.

SupportMapping ( Jitter.LinearMath.JVector &direction, Jitter.LinearMath.JVector &result ) : void

SupportMapping. Finds the point in the shape furthest away from the given direction. Imagine a plane with a normal in the search direction. Now move the plane along the normal until the plane does not intersect the shape. The last intersection point is the result.

UpdateShape ( ) : void

보호된 메소드들

메소드 설명
CreateWorkingClone ( ) : Jitter.Collision.Shapes.Multishape
UpdateInternalBoundingBox ( ) : void

비공개 메소드들

메소드 설명
CompoundShape ( ) : System
DoShifting ( ) : void

Translate all subshapes in the way that the center of mass is in (0,0,0)

TestValidity ( ) : bool

메소드 상세

CalculateMassInertia() 공개 메소드

public CalculateMassInertia ( ) : void
리턴 void

CompoundShape() 공개 메소드

Created a new instance of the CompountShape class.
public CompoundShape ( List shapes ) : System
shapes List The 'sub' shapes which should be added to this /// class.
리턴 System

CompoundShape() 공개 메소드

public CompoundShape ( TransformedShape shapes ) : System
shapes TransformedShape
리턴 System

CreateWorkingClone() 보호된 메소드

protected CreateWorkingClone ( ) : Jitter.Collision.Shapes.Multishape
리턴 Jitter.Collision.Shapes.Multishape

GetBoundingBox() 공개 메소드

Gets the axis aligned bounding box of the orientated shape. (Inlcuding all 'sub' shapes)
public GetBoundingBox ( Jitter.LinearMath.JMatrix &orientation, Jitter.LinearMath.JBBox &box ) : void
orientation Jitter.LinearMath.JMatrix The orientation of the shape.
box Jitter.LinearMath.JBBox The axis aligned bounding box of the shape.
리턴 void

MakeHull() 공개 메소드

public MakeHull ( List &triangleList, int generationThreshold ) : void
triangleList List
generationThreshold int
리턴 void

Prepare() 공개 메소드

Passes a axis aligned bounding box to the shape where collision could occour.
public Prepare ( Jitter.LinearMath.JBBox &box ) : int
box Jitter.LinearMath.JBBox The bounding box where collision could occur.
리턴 int

Prepare() 공개 메소드

public Prepare ( Jitter.LinearMath.JVector &rayOrigin, Jitter.LinearMath.JVector &rayEnd ) : int
rayOrigin Jitter.LinearMath.JVector
rayEnd Jitter.LinearMath.JVector
리턴 int

SetCurrentShape() 공개 메소드

Sets the current shape. First CompoundShape.Prepare has to be called. After SetCurrentShape the shape immitates another shape.
public SetCurrentShape ( int index ) : void
index int
리턴 void

SupportMapping() 공개 메소드

SupportMapping. Finds the point in the shape furthest away from the given direction. Imagine a plane with a normal in the search direction. Now move the plane along the normal until the plane does not intersect the shape. The last intersection point is the result.
public SupportMapping ( Jitter.LinearMath.JVector &direction, Jitter.LinearMath.JVector &result ) : void
direction Jitter.LinearMath.JVector The direction.
result Jitter.LinearMath.JVector The result.
리턴 void

UpdateInternalBoundingBox() 보호된 메소드

protected UpdateInternalBoundingBox ( ) : void
리턴 void

UpdateShape() 공개 메소드

public UpdateShape ( ) : void
리턴 void