C# Class BEPUphysics.CollisionShapes.MobileMeshShape

Local space data associated with a mobile mesh. This contains a hierarchy and all the other heavy data needed by an MobileMesh.
Inheritance: EntityShape
Show file Open project: Indiefreaks/igf Class Usage Examples

Public Properties

Property Type Description
MeshHitUniquenessThreshold float

Public Methods

Method Description
ComputeDistributionInformation ( ShapeDistributionInformation &shapeInfo ) : void

Computes the volume, center of mass, and volume distribution of the shape.

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

Computes the bounding box of the transformed mesh shape.

GetCollidableInstance ( ) : BroadPhaseEntries.MobileCollidables.EntityCollidable
GetLocalBoundingBox ( RigidTransform &shapeTransform, AffineTransform &spaceTransform, BoundingBox &boundingBox ) : void

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

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

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

IsLocalRayOriginInMesh ( Ray &ray, RayHit &hit ) : bool

Tests to see if a ray's origin is contained within the mesh. If it is, the hit location is found. If it isn't, the hit location is still valid if a hit occurred. If the origin isn't inside and there was no hit, the hit has a T value of float.MaxValue.

MobileMeshShape ( Vector3 vertices, int indices, AffineTransform localTransform, MobileMeshSolidity solidity ) : BEPUphysics.DataStructures

Constructs a new mobile mesh shape.

MobileMeshShape ( Vector3 vertices, int indices, AffineTransform localTransform, MobileMeshSolidity solidity, ShapeDistributionInformation &distributionInfo ) : BEPUphysics.DataStructures

Constructs a new mobile mesh shape.

Private Methods

Method Description
ComputeShapeInformation ( TransformableMeshData data, ShapeDistributionInformation &shapeInformation ) : void
ComputeSolidSidedness ( ) : void
ComputeSolidSidednessHelper ( Ray ray ) : TriangleSidedness
GetBoundingBox ( Matrix3x3 &o, BoundingBox &boundingBox ) : void
IsHitUnique ( RawList hits, RayHit &hit ) : bool

Method Details

ComputeDistributionInformation() public method

Computes the volume, center of mass, and volume distribution of the shape.
public ComputeDistributionInformation ( ShapeDistributionInformation &shapeInfo ) : void
shapeInfo ShapeDistributionInformation Data about the shape.
return void

GetBoundingBox() public method

Computes the bounding box of the transformed mesh shape.
public GetBoundingBox ( RigidTransform &shapeTransform, BoundingBox &boundingBox ) : void
shapeTransform BEPUutilities.RigidTransform Transform to apply to the shape during the bounding box calculation.
boundingBox BoundingBox Bounding box containing the transformed mesh shape.
return void

GetCollidableInstance() public method

public GetCollidableInstance ( ) : BroadPhaseEntries.MobileCollidables.EntityCollidable
return BroadPhaseEntries.MobileCollidables.EntityCollidable

GetLocalBoundingBox() public method

Gets the bounding box of the mesh 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.
return void

GetSweptLocalBoundingBox() public method

Gets the bounding box of the mesh 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 World space sweep direction to transform and add to the bounding box.
boundingBox BoundingBox Bounding box in the local space.
return void

IsLocalRayOriginInMesh() public method

Tests to see if a ray's origin is contained within the mesh. If it is, the hit location is found. If it isn't, the hit location is still valid if a hit occurred. If the origin isn't inside and there was no hit, the hit has a T value of float.MaxValue.
public IsLocalRayOriginInMesh ( Ray &ray, RayHit &hit ) : bool
ray Ray Ray in the local space of the shape to test.
hit BEPUutilities.RayHit The first hit against the mesh, if any.
return bool

MobileMeshShape() public method

Constructs a new mobile mesh shape.
public MobileMeshShape ( Vector3 vertices, int indices, AffineTransform localTransform, MobileMeshSolidity solidity ) : BEPUphysics.DataStructures
vertices Vector3 Vertices of the mesh.
indices int Indices of the mesh.
localTransform BEPUutilities.AffineTransform Local transform to apply to the shape.
solidity MobileMeshSolidity Solidity state of the shape.
return BEPUphysics.DataStructures

MobileMeshShape() public method

Constructs a new mobile mesh shape.
public MobileMeshShape ( Vector3 vertices, int indices, AffineTransform localTransform, MobileMeshSolidity solidity, ShapeDistributionInformation &distributionInfo ) : BEPUphysics.DataStructures
vertices Vector3 Vertices of the mesh.
indices int Indices of the mesh.
localTransform BEPUutilities.AffineTransform Local transform to apply to the shape.
solidity MobileMeshSolidity Solidity state of the shape.
distributionInfo ShapeDistributionInformation Information computed about the shape during construction.
return BEPUphysics.DataStructures

Property Details

MeshHitUniquenessThreshold public static property

The difference in t parameters in a ray cast under which two hits are considered to be redundant.
public static float MeshHitUniquenessThreshold
return float