Public Member Functions | Protected Member Functions | Protected Attributes

btCapsuleShape Class Reference

The btCapsuleShape represents a capsule around the Y axis, there is also the btCapsuleShapeX aligned around the X axis and btCapsuleShapeZ around the Z axis. More...

#include <btCapsuleShape.h>

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

List of all members.

Public Member Functions

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 btCapsuleShape (btScalar radius, btScalar height)
virtual void calculateLocalInertia (btScalar mass, btVector3 &inertia) const
 CollisionShape Interface.
virtual btVector3 localGetSupportingVertexWithoutMargin (const btVector3 &vec) const
 btConvexShape Interface
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
virtual void setMargin (btScalar collisionMargin)
virtual 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 const char * getName () const
int getUpAxis () const
btScalar getRadius () const
btScalar getHalfHeight () const
virtual void setLocalScaling (const btVector3 &scaling)
virtual btVector3 getAnisotropicRollingFrictionDirection () const
 the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example
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

 btCapsuleShape ()
 only used for btCapsuleShapeZ and btCapsuleShapeX subclasses.

Protected Attributes

int m_upAxis

Detailed Description

The btCapsuleShape represents a capsule around the Y axis, there is also the btCapsuleShapeX aligned around the X axis and btCapsuleShapeZ around the Z axis.

The total height is height+2*radius, so the height is just the height between the center of each 'sphere' of the capsule caps. The btCapsuleShape is a convex hull of two spheres. The btMultiSphereShape is a more general collision shape that takes the convex hull of multiple sphere, so it can also represent a capsule when just using two spheres.

Definition at line 26 of file btCapsuleShape.h.


Constructor & Destructor Documentation

btCapsuleShape::btCapsuleShape (  )  [inline, protected]

only used for btCapsuleShapeZ and btCapsuleShapeX subclasses.

Definition at line 33 of file btCapsuleShape.h.

btCapsuleShape::btCapsuleShape ( btScalar  radius,
btScalar  height 
)

Definition at line 22 of file btCapsuleShape.cpp.


Member Function Documentation

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

Implements btConvexShape.

Definition at line 83 of file btCapsuleShape.cpp.

btCapsuleShape::BT_DECLARE_ALIGNED_ALLOCATOR (  ) 

Reimplemented from btConvexInternalShape.

void btCapsuleShape::calculateLocalInertia ( btScalar  mass,
btVector3 inertia 
) const [virtual]

CollisionShape Interface.

Implements btCollisionShape.

Definition at line 123 of file btCapsuleShape.cpp.

int btCapsuleShape::calculateSerializeBufferSize (  )  const [inline, virtual]

Reimplemented from btConvexInternalShape.

Definition at line 167 of file btCapsuleShape.h.

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

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

Reimplemented from btConvexInternalShape.

Definition at line 61 of file btCapsuleShape.h.

virtual btVector3 btCapsuleShape::getAnisotropicRollingFrictionDirection (  )  const [inline, virtual]

the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example

Reimplemented from btCollisionShape.

Definition at line 107 of file btCapsuleShape.h.

btScalar btCapsuleShape::getHalfHeight (  )  const [inline]

Definition at line 90 of file btCapsuleShape.h.

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

Implements btCollisionShape.

Reimplemented in btCapsuleShapeX, and btCapsuleShapeZ.

Definition at line 74 of file btCapsuleShape.h.

btScalar btCapsuleShape::getRadius (  )  const [inline]

Definition at line 84 of file btCapsuleShape.h.

int btCapsuleShape::getUpAxis (  )  const [inline]

Definition at line 79 of file btCapsuleShape.h.

btVector3 btCapsuleShape::localGetSupportingVertexWithoutMargin ( const btVector3 vec  )  const [virtual]

btConvexShape Interface

Implements btConvexShape.

Definition at line 30 of file btCapsuleShape.cpp.

const char * btCapsuleShape::serialize ( void *  dataBuffer,
btSerializer serializer 
) const [inline, virtual]

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

Reimplemented from btConvexInternalShape.

Definition at line 173 of file btCapsuleShape.h.

virtual void btCapsuleShape::setLocalScaling ( const btVector3 scaling  )  [inline, virtual]

Reimplemented from btConvexInternalShape.

Definition at line 95 of file btCapsuleShape.h.

virtual void btCapsuleShape::setMargin ( btScalar  collisionMargin  )  [inline, virtual]

Reimplemented from btConvexInternalShape.

Definition at line 49 of file btCapsuleShape.h.


Member Data Documentation

int btCapsuleShape::m_upAxis [protected]

Definition at line 29 of file btCapsuleShape.h.


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