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>
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 |
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.
btCapsuleShape::btCapsuleShape | ( | ) | [inline, protected] |
only used for btCapsuleShapeZ and btCapsuleShapeX subclasses.
Definition at line 33 of file btCapsuleShape.h.
Definition at line 22 of file btCapsuleShape.cpp.
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.
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.
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.
int btCapsuleShape::m_upAxis [protected] |
Definition at line 29 of file btCapsuleShape.h.