Blender V2.61 - r43446
Public Member Functions | Protected Member Functions | Protected Attributes

btConvexInternalShape Class Reference

The btConvexInternalShape is an internal base class, shared by most convex shape implementations. More...

#include <btConvexInternalShape.h>

Inheritance diagram for btConvexInternalShape:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~btConvexInternalShape ()
virtual btVector3 localGetSupportingVertex (const btVector3 &vec) const
const btVector3 & getImplicitShapeDimensions () const
void setImplicitShapeDimensions (const btVector3 &dimensions)
void getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
 getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
virtual void getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
virtual void setLocalScaling (const btVector3 &scaling)
virtual const btVector3 & getLocalScaling () const
const btVector3 & getLocalScalingNV () const
virtual void setMargin (btScalar margin)
virtual btScalar getMargin () const
btScalar getMarginNV () const
virtual int getNumPreferredPenetrationDirections () const
virtual void getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const
virtual int calculateSerializeBufferSize () const
virtual const char * serialize (void *dataBuffer, btSerializer *serializer) const
 fills the dataBuffer and returns the struct name (and 0 on failure)

Protected Member Functions

 btConvexInternalShape ()

Protected Attributes

btVector3 m_localScaling
btVector3 m_implicitShapeDimensions
btScalar m_collisionMargin
btScalar m_padding

Detailed Description

The btConvexInternalShape is an internal base class, shared by most convex shape implementations.

Definition at line 24 of file btConvexInternalShape.h.


Constructor & Destructor Documentation

btConvexInternalShape::btConvexInternalShape ( ) [protected]

Definition at line 21 of file btConvexInternalShape.cpp.

virtual btConvexInternalShape::~btConvexInternalShape ( ) [inline, virtual]

Definition at line 44 of file btConvexInternalShape.h.


Member Function Documentation

SIMD_FORCE_INLINE int btConvexInternalShape::calculateSerializeBufferSize ( ) const [virtual]

Reimplemented in btCapsuleShape, btCylinderShape, and btMultiSphereShape.

Definition at line 138 of file btConvexInternalShape.h.

void btConvexInternalShape::getAabb ( const btTransform t,
btVector3 &  aabbMin,
btVector3 &  aabbMax 
) const [inline]

getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version

Reimplemented in btBox2dShape, btBoxShape, btCapsuleShape, btConvexInternalAabbCachingShape, btCylinderShape, btPolyhedralConvexAabbCachingShape, btBU_Simplex1to4, and btSoftClusterCollisionShape.

Definition at line 66 of file btConvexInternalShape.h.

References getAabbSlow().

Referenced by btConeShape::calculateLocalInertia(), and btPolyhedralConvexShape::calculateLocalInertia().

void btConvexInternalShape::getAabbSlow ( const btTransform t,
btVector3 &  aabbMin,
btVector3 &  aabbMax 
) const [virtual]

Definition at line 35 of file btConvexInternalShape.cpp.

References btTransform::getBasis(), getMargin(), i, and localGetSupportingVertex().

Referenced by getAabb().

const btVector3& btConvexInternalShape::getImplicitShapeDimensions ( ) const [inline]

Definition at line 51 of file btConvexInternalShape.h.

References m_implicitShapeDimensions.

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

Reimplemented in btConvexTriangleMeshShape.

Definition at line 77 of file btConvexInternalShape.h.

References m_localScaling.

Referenced by btConvexConvexAlgorithm::processCollision().

const btVector3& btConvexInternalShape::getLocalScalingNV ( ) const [inline]

Definition at line 82 of file btConvexInternalShape.h.

References m_localScaling.

virtual btScalar btConvexInternalShape::getMargin ( ) const [inline, virtual]

Reimplemented in btMinkowskiSumShape, and btSoftClusterCollisionShape.

Definition at line 91 of file btConvexInternalShape.h.

References m_collisionMargin.

Referenced by btMultiSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btCapsuleShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btBox2dShape::btBox2dShape(), btBoxShape::btBoxShape(), btCylinderShape::btCylinderShape(), btConeShape::calculateLocalInertia(), btPolyhedralConvexShape::calculateLocalInertia(), btCylinderShape::getAabb(), btBox2dShape::getAabb(), btBoxShape::getAabb(), btConvexInternalAabbCachingShape::getAabb(), btCapsuleShape::getAabb(), btPolyhedralConvexAabbCachingShape::getAabb(), getAabbSlow(), btBoxShape::getHalfExtentsWithMargin(), btCylinderShape::getHalfExtentsWithMargin(), btBox2dShape::getHalfExtentsWithMargin(), btSphereBoxCollisionAlgorithm::getSphereDistance(), btCylinderShape::localGetSupportingVertex(), btBox2dShape::localGetSupportingVertex(), localGetSupportingVertex(), btBoxShape::localGetSupportingVertex(), btConvexTriangleMeshShape::localGetSupportingVertex(), btConeShape::localGetSupportingVertex(), btMultiSphereShape::localGetSupportingVertexWithoutMargin(), btCapsuleShape::localGetSupportingVertexWithoutMargin(), btBox2dShape::setLocalScaling(), btCylinderShape::setLocalScaling(), btCapsuleShape::setLocalScaling(), btBoxShape::setLocalScaling(), btCapsuleShape::setMargin(), btBoxShape::setMargin(), btCylinderShape::setMargin(), and btBox2dShape::setMargin().

btScalar btConvexInternalShape::getMarginNV ( ) const [inline]

Definition at line 96 of file btConvexInternalShape.h.

References m_collisionMargin.

virtual int btConvexInternalShape::getNumPreferredPenetrationDirections ( ) const [inline, virtual]

Reimplemented in btBox2dShape, and btBoxShape.

Definition at line 101 of file btConvexInternalShape.h.

virtual void btConvexInternalShape::getPreferredPenetrationDirection ( int  index,
btVector3 &  penetrationVector 
) const [inline, virtual]

Reimplemented in btBox2dShape, and btBoxShape.

Definition at line 106 of file btConvexInternalShape.h.

References btAssert.

btVector3 btConvexInternalShape::localGetSupportingVertex ( const btVector3 &  vec) const [virtual]
SIMD_FORCE_INLINE const char * btConvexInternalShape::serialize ( void *  dataBuffer,
btSerializer serializer 
) const [virtual]
void btConvexInternalShape::setImplicitShapeDimensions ( const btVector3 &  dimensions) [inline]

warning: use setImplicitShapeDimensions with care changing a collision shape while the body is in the world is not recommended, it is best to remove the body from the world, then make the change, and re-add it alternatively flush the contact points, see documentation for 'cleanProxyFromPairs'

Definition at line 60 of file btConvexInternalShape.h.

References m_implicitShapeDimensions.

void btConvexInternalShape::setLocalScaling ( const btVector3 &  scaling) [virtual]
virtual void btConvexInternalShape::setMargin ( btScalar  margin) [inline, virtual]

Member Data Documentation

Definition at line 36 of file btConvexInternalShape.h.


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