Public Member Functions | Protected Member Functions | Protected Attributes
btConvexInternalShape Class Reference

#include <btConvexInternalShape.h>

Inheritance diagram for btConvexInternalShape:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual int calculateSerializeBufferSize () const
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
const btVector3 & getImplicitShapeDimensions () const
virtual const btVector3 & getLocalScaling () const
const btVector3 & getLocalScalingNV () const
virtual btScalar getMargin () const
btScalar getMarginNV () const
virtual int getNumPreferredPenetrationDirections () const
virtual void getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const
virtual btVector3 localGetSupportingVertex (const btVector3 &vec) const
virtual const char * serialize (void *dataBuffer, btSerializer *serializer) const
 fills the dataBuffer and returns the struct name (and 0 on failure)
void setImplicitShapeDimensions (const btVector3 &dimensions)
virtual void setLocalScaling (const btVector3 &scaling)
virtual void setMargin (btScalar margin)
void setSafeMargin (btScalar minDimension, btScalar defaultMarginMultiplier=0.1f)
void setSafeMargin (const btVector3 &halfExtents, btScalar defaultMarginMultiplier=0.1f)
virtual ~btConvexInternalShape ()

Protected Member Functions

 btConvexInternalShape ()

Protected Attributes

btScalar m_collisionMargin
btVector3 m_implicitShapeDimensions
btVector3 m_localScaling
btScalar m_padding

Detailed Description

The btConvexInternalShape is an internal base class, shared by most convex shape implementations. The btConvexInternalShape uses a default collision margin set to CONVEX_DISTANCE_MARGIN. This collision margin used by Gjk and some other algorithms, see also btCollisionMargin.h Note that when creating small shapes (derived from btConvexInternalShape), you need to make sure to set a smaller collision margin, using the 'setMargin' API There is a automatic mechanism 'setSafeMargin' used by btBoxShape and btCylinderShape

Definition at line 29 of file btConvexInternalShape.h.


Constructor & Destructor Documentation

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

Definition at line 49 of file btConvexInternalShape.h.


Member Function Documentation

Reimplemented in btCylinderShape, btCapsuleShape, and btMultiSphereShape.

Definition at line 160 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 btConvexInternalAabbCachingShape, btSoftClusterCollisionShape, btBox2dShape, btBoxShape, btPolyhedralConvexAabbCachingShape, btCapsuleShape, btCylinderShape, and btBU_Simplex1to4.

Definition at line 88 of file btConvexInternalShape.h.

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

Definition at line 56 of file btConvexInternalShape.h.

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

Reimplemented in btConvexTriangleMeshShape.

Definition at line 99 of file btConvexInternalShape.h.

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

Definition at line 104 of file btConvexInternalShape.h.

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

Reimplemented in btSoftClusterCollisionShape, and btMinkowskiSumShape.

Definition at line 113 of file btConvexInternalShape.h.

Definition at line 118 of file btConvexInternalShape.h.

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

Reimplemented in btBox2dShape, and btBoxShape.

Definition at line 123 of file btConvexInternalShape.h.

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

Reimplemented in btBox2dShape, and btBoxShape.

Definition at line 128 of file btConvexInternalShape.h.

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

fills the dataBuffer and returns the struct name (and 0 on failure)

Reimplemented in btCylinderShape, btCapsuleShape, and btMultiSphereShape.

Definition at line 166 of file btConvexInternalShape.h.

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 65 of file btConvexInternalShape.h.

virtual void btConvexInternalShape::setLocalScaling ( const btVector3 &  scaling) [virtual]
virtual void btConvexInternalShape::setMargin ( btScalar  margin) [inline, virtual]
void btConvexInternalShape::setSafeMargin ( btScalar  minDimension,
btScalar  defaultMarginMultiplier = 0.1f 
) [inline]

Definition at line 70 of file btConvexInternalShape.h.

void btConvexInternalShape::setSafeMargin ( const btVector3 &  halfExtents,
btScalar  defaultMarginMultiplier = 0.1f 
) [inline]

Definition at line 78 of file btConvexInternalShape.h.


Member Data Documentation

Definition at line 39 of file btConvexInternalShape.h.

Definition at line 37 of file btConvexInternalShape.h.

Definition at line 35 of file btConvexInternalShape.h.

Definition at line 41 of file btConvexInternalShape.h.


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


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Wed Oct 31 2012 07:54:32