C# 클래스 BEPUphysics.CollisionShapes.ConvexShapes.ConvexShape

Superclass of convex collision shapes.
상속: EntityShape
파일 보기 프로젝트 열기: Indiefreaks/igf 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
collisionMargin float
maximumRadius float
minimumRadius float

공개 메소드들

메소드 설명
ComputeCenter ( ) : Vector3

Computes the center of the shape. This can be considered its center of mass.

ComputeCenter ( float &volume ) : Vector3

Computes the center of the shape. This can be considered its center of mass. This calculation is often associated with the volume calculation, which is given by this method as well.

ComputeDistributionInformation ( ShapeDistributionInformation &shapeInfo ) : void
ComputeMaximumRadius ( ) : float

Computes the maximum radius of the shape. This is often larger than the actual maximum radius; it is simply an approximation that avoids underestimating.

ComputeMinimumRadius ( ) : float

Computes the minimum radius of the shape. This is often smaller than the actual minimum radius; it is simply an approximation that avoids overestimating.

ComputeVolume ( ) : float

Computes the volume of the shape.

ComputeVolumeDistribution ( ) : Matrix3x3

Computes the volume distribution of the shape. The volume distribution can be used to compute inertia tensors when paired with mass and other tuning factors.

ComputeVolumeDistribution ( float &volume ) : Matrix3x3

Computes the volume distribution of the shape as well as its volume. The volume distribution can be used to compute inertia tensors when paired with mass and other tuning factors.

GetBoundingBox ( RigidTransform &shapeTransform, BoundingBox &boundingBox ) : void

Gets the bounding box of the shape given a transform.

GetExtremePoint ( Vector3 direction, RigidTransform &shapeTransform, Vector3 &extremePoint ) : void

Gets the extreme point of the shape in world space in a given direction with margin expansion.

GetExtremePointWithoutMargin ( Vector3 direction, RigidTransform &shapeTransform, Vector3 &extremePoint ) : void

Gets the extreme point of the shape in world space in a given direction.

GetLocalBoundingBox ( RigidTransform &shapeTransform, AffineTransform &spaceTransform, BoundingBox &boundingBox ) : void

Gets the bounding box of the convex shape transformed first into world space, and then into the local space of another affine transform.

GetLocalExtremePoint ( Vector3 direction, Vector3 &extremePoint ) : void

Gets the extreme point of the shape in local space in a given direction with margin expansion.

GetLocalExtremePointWithoutMargin ( Vector3 &direction, Vector3 &extremePoint ) : void

Gets the extreme point of the shape in local space in a given direction.

GetSweptBoundingBox ( RigidTransform &transform, Vector3 &sweep, BoundingBox &boundingBox ) : void

Computes a bounding box for the shape and expands it.

GetSweptLocalBoundingBox ( RigidTransform &shapeTransform, AffineTransform &spaceTransform, Vector3 &sweep, BoundingBox &boundingBox ) : void

Gets the bounding box of the convex shape transformed first into world space, and then into the local space of another affine transform.

RayTest ( Ray &ray, RigidTransform &transform, float maximumLength, RayHit &hit ) : bool

Gets the intersection between the convex shape and the ray.

보호된 메소드들

메소드 설명
OnShapeChanged ( ) : void

메소드 상세

ComputeCenter() 공개 메소드

Computes the center of the shape. This can be considered its center of mass.
public ComputeCenter ( ) : Vector3
리턴 Vector3

ComputeCenter() 공개 메소드

Computes the center of the shape. This can be considered its center of mass. This calculation is often associated with the volume calculation, which is given by this method as well.
public ComputeCenter ( float &volume ) : Vector3
volume float Volume of the shape.
리턴 Vector3

ComputeDistributionInformation() 공개 메소드

public ComputeDistributionInformation ( ShapeDistributionInformation &shapeInfo ) : void
shapeInfo ShapeDistributionInformation
리턴 void

ComputeMaximumRadius() 공개 추상적인 메소드

Computes the maximum radius of the shape. This is often larger than the actual maximum radius; it is simply an approximation that avoids underestimating.
public abstract ComputeMaximumRadius ( ) : float
리턴 float

ComputeMinimumRadius() 공개 추상적인 메소드

Computes the minimum radius of the shape. This is often smaller than the actual minimum radius; it is simply an approximation that avoids overestimating.
public abstract ComputeMinimumRadius ( ) : float
리턴 float

ComputeVolume() 공개 메소드

Computes the volume of the shape.
public ComputeVolume ( ) : float
리턴 float

ComputeVolumeDistribution() 공개 메소드

Computes the volume distribution of the shape. The volume distribution can be used to compute inertia tensors when paired with mass and other tuning factors.
public ComputeVolumeDistribution ( ) : Matrix3x3
리턴 BEPUutilities.Matrix3x3

ComputeVolumeDistribution() 공개 메소드

Computes the volume distribution of the shape as well as its volume. The volume distribution can be used to compute inertia tensors when paired with mass and other tuning factors.
public ComputeVolumeDistribution ( float &volume ) : Matrix3x3
volume float Volume of the shape.
리턴 BEPUutilities.Matrix3x3

GetBoundingBox() 공개 메소드

Gets the bounding box of the shape given a transform.
public GetBoundingBox ( RigidTransform &shapeTransform, BoundingBox &boundingBox ) : void
shapeTransform BEPUutilities.RigidTransform Transform to use.
boundingBox BoundingBox Bounding box of the transformed shape.
리턴 void

GetExtremePoint() 공개 메소드

Gets the extreme point of the shape in world space in a given direction with margin expansion.
public GetExtremePoint ( Vector3 direction, RigidTransform &shapeTransform, Vector3 &extremePoint ) : void
direction Vector3 Direction to find the extreme point in.
shapeTransform BEPUutilities.RigidTransform Transform to use for the shape.
extremePoint Vector3 Extreme point on the shape.
리턴 void

GetExtremePointWithoutMargin() 공개 메소드

Gets the extreme point of the shape in world space in a given direction.
public GetExtremePointWithoutMargin ( Vector3 direction, RigidTransform &shapeTransform, Vector3 &extremePoint ) : void
direction Vector3 Direction to find the extreme point in.
shapeTransform BEPUutilities.RigidTransform Transform to use for the shape.
extremePoint Vector3 Extreme point on the shape.
리턴 void

GetLocalBoundingBox() 공개 메소드

Gets the bounding box of the convex shape transformed first into world space, and then into the local space of another affine transform.
public GetLocalBoundingBox ( RigidTransform &shapeTransform, AffineTransform &spaceTransform, BoundingBox &boundingBox ) : void
shapeTransform BEPUutilities.RigidTransform Transform to use to put the shape into world space.
spaceTransform BEPUutilities.AffineTransform Used as the frame of reference to compute the bounding box. /// In effect, the shape is transformed by the inverse of the space transform to compute its bounding box in local space.
boundingBox BoundingBox Bounding box in the local space.
리턴 void

GetLocalExtremePoint() 공개 메소드

Gets the extreme point of the shape in local space in a given direction with margin expansion.
public GetLocalExtremePoint ( Vector3 direction, Vector3 &extremePoint ) : void
direction Vector3 Direction to find the extreme point in.
extremePoint Vector3 Extreme point on the shape.
리턴 void

GetLocalExtremePointWithoutMargin() 공개 추상적인 메소드

Gets the extreme point of the shape in local space in a given direction.
public abstract GetLocalExtremePointWithoutMargin ( Vector3 &direction, Vector3 &extremePoint ) : void
direction Vector3 Direction to find the extreme point in.
extremePoint Vector3 Extreme point on the shape.
리턴 void

GetSweptBoundingBox() 공개 메소드

Computes a bounding box for the shape and expands it.
public GetSweptBoundingBox ( RigidTransform &transform, Vector3 &sweep, BoundingBox &boundingBox ) : void
transform BEPUutilities.RigidTransform Transform to use to position the shape.
sweep Vector3 Extra to add to the bounding box.
boundingBox BoundingBox Expanded bounding box.
리턴 void

GetSweptLocalBoundingBox() 공개 메소드

Gets the bounding box of the convex shape transformed first into world space, and then into the local space of another affine transform.
public GetSweptLocalBoundingBox ( RigidTransform &shapeTransform, AffineTransform &spaceTransform, Vector3 &sweep, BoundingBox &boundingBox ) : void
shapeTransform BEPUutilities.RigidTransform Transform to use to put the shape into world space.
spaceTransform BEPUutilities.AffineTransform Used as the frame of reference to compute the bounding box. /// In effect, the shape is transformed by the inverse of the space transform to compute its bounding box in local space.
sweep Vector3 Vector to expand the bounding box with in local space.
boundingBox BoundingBox Bounding box in the local space.
리턴 void

OnShapeChanged() 보호된 메소드

protected OnShapeChanged ( ) : void
리턴 void

RayTest() 공개 메소드

Gets the intersection between the convex shape and the ray.
public RayTest ( Ray &ray, RigidTransform &transform, float maximumLength, RayHit &hit ) : bool
ray Ray Ray to test.
transform BEPUutilities.RigidTransform Transform of the convex shape.
maximumLength float Maximum distance to travel in units of the ray direction's length.
hit BEPUutilities.RayHit Ray hit data, if any.
리턴 bool

프로퍼티 상세

collisionMargin 보호되어 있는 프로퍼티

protected float collisionMargin
리턴 float

maximumRadius 보호되어 있는 프로퍼티

protected float maximumRadius
리턴 float

minimumRadius 보호되어 있는 프로퍼티

protected float minimumRadius
리턴 float