Public Member Functions | Protected Member Functions | Protected Attributes

btGImpactShapeInterface Class Reference

Base class for gimpact shapes. More...

#include <btGImpactShape.h>

Inheritance diagram for btGImpactShapeInterface:
Inheritance graph
[legend]
Collaboration diagram for btGImpactShapeInterface:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 btGImpactShapeInterface ()
void updateBound ()
 performs refit operation
void getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
 If the Bounding box is not updated, then this class attemps to calculate it.
virtual void postUpdate ()
 Tells to this object that is needed to refit the box set.
const btAABBgetLocalBox ()
 Obtains the local box, which is the global calculated box of the total of subshapes.
virtual int getShapeType () const
virtual void setLocalScaling (const btVector3 &scaling)
virtual const btVector3getLocalScaling () const
virtual void setMargin (btScalar margin)
virtual void rayTest (const btVector3 &rayFrom, const btVector3 &rayTo, btCollisionWorld::RayResultCallback &resultCallback) const
 virtual method for ray collision
virtual void processAllTriangles (btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
 Function for retrieve triangles.

virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType () const =0
 Subshape member functions.
const btGImpactBoxSetgetBoxSet () const
 gets boxset
bool hasBoxSet () const
 Determines if this class has a hierarchy structure for sorting its primitives.
virtual const
btPrimitiveManagerBase
getPrimitiveManager () const =0
 Obtains the primitive manager.
virtual int getNumChildShapes () const =0
 Gets the number of children.
virtual bool childrenHasTransform () const =0
 if true, then its children must get transforms.
virtual bool needsRetrieveTriangles () const =0
 Determines if this shape has triangles.
virtual bool needsRetrieveTetrahedrons () const =0
 Determines if this shape has tetrahedrons.
virtual void getBulletTriangle (int prim_index, btTriangleShapeEx &triangle) const =0
virtual void getBulletTetrahedron (int prim_index, btTetrahedronShapeEx &tetrahedron) const =0
virtual void lockChildShapes () const
 call when reading child shapes
virtual void unlockChildShapes () const
void getPrimitiveTriangle (int index, btPrimitiveTriangle &triangle) const
 if this trimesh
virtual void getChildAabb (int child_index, const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
 Retrieves the bound from a child.
virtual btCollisionShapegetChildShape (int index)=0
 Gets the children.
virtual const btCollisionShapegetChildShape (int index) const =0
 Gets the child.
virtual btTransform getChildTransform (int index) const =0
 Gets the children transform.
virtual void setChildTransform (int index, const btTransform &transform)=0
 Sets the children transform.

Protected Member Functions

virtual void calcLocalAABB ()

Protected Attributes

btAABB m_localAABB
bool m_needs_update
btVector3 localScaling
btGImpactBoxSet m_box_set

Detailed Description

Base class for gimpact shapes.

Definition at line 78 of file btGImpactShape.h.


Constructor & Destructor Documentation

btGImpactShapeInterface::btGImpactShapeInterface (  )  [inline]

Definition at line 106 of file btGImpactShape.h.


Member Function Documentation

virtual void btGImpactShapeInterface::calcLocalAABB (  )  [inline, protected, virtual]

use this function for perfofm refit in bounding boxes

Reimplemented in btGImpactMeshShape.

Definition at line 88 of file btGImpactShape.h.

virtual bool btGImpactShapeInterface::childrenHasTransform (  )  const [pure virtual]

if true, then its children must get transforms.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

void btGImpactShapeInterface::getAabb ( const btTransform t,
btVector3 aabbMin,
btVector3 aabbMax 
) const [inline, virtual]

If the Bounding box is not updated, then this class attemps to calculate it.

Postcondition:
Calls updateBound() for update the box set.

Implements btCollisionShape.

Definition at line 133 of file btGImpactShape.h.

const btGImpactBoxSet* btGImpactShapeInterface::getBoxSet (  )  const [inline]

gets boxset

Definition at line 195 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::getBulletTetrahedron ( int  prim_index,
btTetrahedronShapeEx tetrahedron 
) const [pure virtual]
virtual void btGImpactShapeInterface::getBulletTriangle ( int  prim_index,
btTriangleShapeEx triangle 
) const [pure virtual]
virtual void btGImpactShapeInterface::getChildAabb ( int  child_index,
const btTransform t,
btVector3 aabbMin,
btVector3 aabbMax 
) const [inline, virtual]

Retrieves the bound from a child.

Reimplemented in btGImpactCompoundShape, and btGImpactMeshShape.

Definition at line 248 of file btGImpactShape.h.

virtual btCollisionShape* btGImpactShapeInterface::getChildShape ( int  index  )  [pure virtual]

Gets the children.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual const btCollisionShape* btGImpactShapeInterface::getChildShape ( int  index  )  const [pure virtual]

Gets the child.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual btTransform btGImpactShapeInterface::getChildTransform ( int  index  )  const [pure virtual]

Gets the children transform.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual eGIMPACT_SHAPE_TYPE btGImpactShapeInterface::getGImpactShapeType (  )  const [pure virtual]

Subshape member functions.

Base method for determinig which kind of GIMPACT shape we get

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

const btAABB& btGImpactShapeInterface::getLocalBox (  )  [inline]

Obtains the local box, which is the global calculated box of the total of subshapes.

Definition at line 148 of file btGImpactShape.h.

virtual const btVector3& btGImpactShapeInterface::getLocalScaling (  )  const [inline, virtual]

Implements btCollisionShape.

Reimplemented in btGImpactMeshShapePart.

Definition at line 168 of file btGImpactShape.h.

virtual int btGImpactShapeInterface::getNumChildShapes (  )  const [pure virtual]

Gets the number of children.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual const btPrimitiveManagerBase* btGImpactShapeInterface::getPrimitiveManager (  )  const [pure virtual]

Obtains the primitive manager.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

void btGImpactShapeInterface::getPrimitiveTriangle ( int  index,
btPrimitiveTriangle triangle 
) const [inline]

if this trimesh

Definition at line 239 of file btGImpactShape.h.

virtual int btGImpactShapeInterface::getShapeType (  )  const [inline, virtual]

Reimplemented from btCollisionShape.

Definition at line 154 of file btGImpactShape.h.

bool btGImpactShapeInterface::hasBoxSet (  )  const [inline]

Determines if this class has a hierarchy structure for sorting its primitives.

Definition at line 201 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::lockChildShapes (  )  const [inline, virtual]

call when reading child shapes

Reimplemented in btGImpactMeshShapePart, and btGImpactMeshShape.

Definition at line 230 of file btGImpactShape.h.

virtual bool btGImpactShapeInterface::needsRetrieveTetrahedrons (  )  const [pure virtual]

Determines if this shape has tetrahedrons.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual bool btGImpactShapeInterface::needsRetrieveTriangles (  )  const [pure virtual]

Determines if this shape has triangles.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual void btGImpactShapeInterface::postUpdate (  )  [inline, virtual]

Tells to this object that is needed to refit the box set.

Reimplemented in btGImpactMeshShape.

Definition at line 142 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::processAllTriangles ( btTriangleCallback callback,
const btVector3 aabbMin,
const btVector3 aabbMax 
) const [inline, virtual]

Function for retrieve triangles.

It gives the triangles in local space

Implements btConcaveShape.

Reimplemented in btGImpactMeshShapePart, and btGImpactMeshShape.

Definition at line 286 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::rayTest ( const btVector3 rayFrom,
const btVector3 rayTo,
btCollisionWorld::RayResultCallback resultCallback 
) const [inline, virtual]

virtual method for ray collision

Reimplemented in btGImpactMeshShape.

Definition at line 277 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::setChildTransform ( int  index,
const btTransform transform 
) [pure virtual]

Sets the children transform.

Postcondition:
You must call updateBound() for update the box set.

Implemented in btGImpactCompoundShape, btGImpactMeshShapePart, and btGImpactMeshShape.

virtual void btGImpactShapeInterface::setLocalScaling ( const btVector3 scaling  )  [inline, virtual]
Postcondition:
You must call updateBound() for update the box set.

Implements btCollisionShape.

Reimplemented in btGImpactMeshShapePart, and btGImpactMeshShape.

Definition at line 162 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::setMargin ( btScalar  margin  )  [inline, virtual]

Reimplemented from btConcaveShape.

Reimplemented in btGImpactMeshShapePart, and btGImpactMeshShape.

Definition at line 174 of file btGImpactShape.h.

virtual void btGImpactShapeInterface::unlockChildShapes (  )  const [inline, virtual]

Reimplemented in btGImpactMeshShapePart, and btGImpactMeshShape.

Definition at line 234 of file btGImpactShape.h.

void btGImpactShapeInterface::updateBound (  )  [inline]

performs refit operation

Updates the entire Box set of this shape.

Precondition:
postUpdate() must be called for attemps to calculating the box set, else this function will does nothing.
Postcondition:
if m_needs_update == true, then it calls calcLocalAABB();

Definition at line 122 of file btGImpactShape.h.


Member Data Documentation

Definition at line 83 of file btGImpactShape.h.

Definition at line 84 of file btGImpactShape.h.

Definition at line 81 of file btGImpactShape.h.

Definition at line 82 of file btGImpactShape.h.


The documentation for this class was generated from the following file: