AtlasConvex Class Reference [Atlas Resource System]

#include <atlasGeomCollision.h>

Inheritance diagram for AtlasConvex:

Inheritance graph
[legend]
List of all members.

Detailed Description

Implementation of a triangle-based convex for Atlas collision.


Public Member Functions

 AtlasConvex ()
 AtlasConvex (const AtlasConvex &cv)
Box3F getBoundingBox () const
 Returns the bounding box for the object this is built around in world space.
Box3F getBoundingBox (const MatrixF &mat, const Point3F &scale) const
 Returns the object space bounding box for the object this is built around transformed and scaled.
Point3F support (const VectorF &v) const
 Returns the farthest point, along a vector, still bound by the convex.
void getFeatures (const MatrixF &mat, const VectorF &n, ConvexFeature *cf)
void getPolyList (AbstractPolyList *list)
 Builds a collision poly list out of this convex.

Private Attributes

AtlasGeomChunkgeom
 The chunk that created us.
U16 offset
 Offset into that chunk's VB.
Point3F point [4]
VectorF normal
Box3F box
 Our bounding box.

Friends

class AtlasGeomChunk


Constructor & Destructor Documentation

AtlasConvex::AtlasConvex (  )  [inline]

AtlasConvex::AtlasConvex ( const AtlasConvex cv  )  [inline]


Member Function Documentation

Box3F AtlasConvex::getBoundingBox (  )  const [virtual]

Returns the bounding box for the object this is built around in world space.

Reimplemented from Convex.

Box3F AtlasConvex::getBoundingBox ( const MatrixF mat,
const Point3F scale 
) const [virtual]

Returns the object space bounding box for the object this is built around transformed and scaled.

Parameters:
mat Matrix to transform the object-space box by
scale Scaling factor to scale the bounding box by

Reimplemented from Convex.

Point3F AtlasConvex::support ( const VectorF v  )  const [virtual]

Returns the farthest point, along a vector, still bound by the convex.

Parameters:
v Vector

Reimplemented from Convex.

void AtlasConvex::getFeatures ( const MatrixF mat,
const VectorF n,
ConvexFeature cf 
) [virtual]

Reimplemented from Convex.

void AtlasConvex::getPolyList ( AbstractPolyList list  )  [virtual]

Builds a collision poly list out of this convex.

Parameters:
list (Out) Poly list built

Reimplemented from Convex.


Friends And Related Function Documentation

friend class AtlasGeomChunk [friend]


Member Data Documentation

The chunk that created us.

Offset into that chunk's VB.

Our bounding box.