btConvexTriangleMeshShape Class Reference

#include <btConvexTriangleMeshShape.h>

Inheritance diagram for btConvexTriangleMeshShape:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
 btConvexTriangleMeshShape (btStridingMeshInterface *meshInterface, bool calcAabb=true)
void calculatePrincipalAxisTransform (btTransform &principal, btVector3 &inertia, btScalar &volume) const
virtual void getEdge (int i, btVector3 &pa, btVector3 &pb) const
virtual const btVector3 & getLocalScaling () const
class btStridingMeshInterfacegetMeshInterface () const
class btStridingMeshInterfacegetMeshInterface ()
virtual const char * getName () const
virtual int getNumEdges () const
virtual int getNumPlanes () const
virtual int getNumVertices () const
virtual void getPlane (btVector3 &planeNormal, btVector3 &planeSupport, int i) const
virtual void getVertex (int i, btVector3 &vtx) const
virtual bool isInside (const btVector3 &pt, btScalar tolerance) const
virtual btVector3 localGetSupportingVertex (const btVector3 &vec) const
virtual btVector3 localGetSupportingVertexWithoutMargin (const btVector3 &vec) const
virtual void setLocalScaling (const btVector3 &scaling)

Private Attributes

class btStridingMeshInterfacem_stridingMesh

Detailed Description

The btConvexTriangleMeshShape is a convex hull of a triangle mesh, but the performance is not as good as btConvexHullShape. A small benefit of this class is that it uses the btStridingMeshInterface, so you can avoid the duplication of the triangle mesh data. Nevertheless, most users should use the much better performing btConvexHullShape instead.

Definition at line 25 of file btConvexTriangleMeshShape.h.


Constructor & Destructor Documentation

btConvexTriangleMeshShape::btConvexTriangleMeshShape ( btStridingMeshInterface meshInterface,
bool  calcAabb = true 
)

Member Function Documentation

virtual void btConvexTriangleMeshShape::batchedUnitVectorGetSupportingVertexWithoutMargin ( const btVector3 *  vectors,
btVector3 *  supportVerticesOut,
int  numVectors 
) const [virtual]

Reimplemented from btPolyhedralConvexShape.

void btConvexTriangleMeshShape::calculatePrincipalAxisTransform ( btTransform principal,
btVector3 &  inertia,
btScalar volume 
) const

computes the exact moment of inertia and the transform from the coordinate system defined by the principal axes of the moment of inertia and the center of mass to the current coordinate system. A mass of 1 is assumed, for other masses just multiply the computed "inertia" by the mass. The resulting transform "principal" has to be applied inversely to the mesh in order for the local coordinate system of the shape to be centered at the center of mass and to coincide with the principal axes. This also necessitates a correction of the world transform of the collision object by the principal transform. This method also computes the volume of the convex mesh.

virtual void btConvexTriangleMeshShape::getEdge ( int  i,
btVector3 &  pa,
btVector3 &  pb 
) const [virtual]
virtual const btVector3& btConvexTriangleMeshShape::getLocalScaling (  )  const [virtual]

Reimplemented from btConvexInternalShape.

class btStridingMeshInterface* btConvexTriangleMeshShape::getMeshInterface (  )  const [inline]

Definition at line 37 of file btConvexTriangleMeshShape.h.

class btStridingMeshInterface* btConvexTriangleMeshShape::getMeshInterface (  )  [inline]

Definition at line 33 of file btConvexTriangleMeshShape.h.

virtual const char* btConvexTriangleMeshShape::getName (  )  const [inline, virtual]

Definition at line 47 of file btConvexTriangleMeshShape.h.

virtual int btConvexTriangleMeshShape::getNumEdges (  )  const [virtual]
virtual int btConvexTriangleMeshShape::getNumPlanes (  )  const [virtual]
virtual int btConvexTriangleMeshShape::getNumVertices (  )  const [virtual]
virtual void btConvexTriangleMeshShape::getPlane ( btVector3 &  planeNormal,
btVector3 &  planeSupport,
int  i 
) const [virtual]
virtual void btConvexTriangleMeshShape::getVertex ( int  i,
btVector3 &  vtx 
) const [virtual]
virtual bool btConvexTriangleMeshShape::isInside ( const btVector3 &  pt,
btScalar  tolerance 
) const [virtual]
virtual btVector3 btConvexTriangleMeshShape::localGetSupportingVertex ( const btVector3 &  vec  )  const [virtual]

Reimplemented from btConvexInternalShape.

virtual btVector3 btConvexTriangleMeshShape::localGetSupportingVertexWithoutMargin ( const btVector3 &  vec  )  const [virtual]

Reimplemented from btPolyhedralConvexShape.

virtual void btConvexTriangleMeshShape::setLocalScaling ( const btVector3 &  scaling  )  [virtual]

Member Data Documentation

Definition at line 28 of file btConvexTriangleMeshShape.h.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Fri Jan 11 10:11:02 2013