![]() |
Blender V2.61 - r43446
|
#include <btCapsuleShape.h>

Public Member Functions | |
| 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 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.
References CAPSULE_SHAPE_PROXYTYPE.
Definition at line 22 of file btCapsuleShape.cpp.
References CAPSULE_SHAPE_PROXYTYPE, btConvexInternalShape::m_implicitShapeDimensions, and m_upAxis.
| void btCapsuleShape::batchedUnitVectorGetSupportingVertexWithoutMargin | ( | const btVector3 * | vectors, |
| btVector3 * | supportVerticesOut, | ||
| int | numVectors | ||
| ) | const [virtual] |
Definition at line 83 of file btCapsuleShape.cpp.
References BT_LARGE_FLOAT, getHalfHeight(), btConvexInternalShape::getMargin(), getRadius(), getUpAxis(), and btConvexInternalShape::m_localScaling.
| void btCapsuleShape::calculateLocalInertia | ( | btScalar | mass, |
| btVector3 & | inertia | ||
| ) | const [virtual] |
CollisionShape Interface.
Definition at line 123 of file btCapsuleShape.cpp.
References CONVEX_DISTANCE_MARGIN, getHalfHeight(), getRadius(), getUpAxis(), and btTransform::setIdentity().
| SIMD_FORCE_INLINE int btCapsuleShape::calculateSerializeBufferSize | ( | ) | const [virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 156 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 58 of file btCapsuleShape.h.
References btMatrix3x3::absolute(), dot(), btTransform::getBasis(), getHalfHeight(), btConvexInternalShape::getMargin(), btTransform::getOrigin(), getRadius(), and m_upAxis.
| btScalar btCapsuleShape::getHalfHeight | ( | ) | const [inline] |
Definition at line 87 of file btCapsuleShape.h.
References btConvexInternalShape::m_implicitShapeDimensions, and m_upAxis.
Referenced by batchedUnitVectorGetSupportingVertexWithoutMargin(), calculateLocalInertia(), btCollisionWorld::debugDrawObject(), getAabb(), localGetSupportingVertexWithoutMargin(), and btConvexConvexAlgorithm::processCollision().
| virtual const char* btCapsuleShape::getName | ( | void | ) | const [inline, virtual] |
Reimplemented in btCapsuleShapeX, and btCapsuleShapeZ.
Definition at line 71 of file btCapsuleShape.h.
| btScalar btCapsuleShape::getRadius | ( | ) | const [inline] |
Definition at line 81 of file btCapsuleShape.h.
References btConvexInternalShape::m_implicitShapeDimensions, and m_upAxis.
Referenced by batchedUnitVectorGetSupportingVertexWithoutMargin(), calculateLocalInertia(), btCollisionWorld::debugDrawObject(), getAabb(), localGetSupportingVertexWithoutMargin(), and btConvexConvexAlgorithm::processCollision().
| int btCapsuleShape::getUpAxis | ( | ) | const [inline] |
Definition at line 76 of file btCapsuleShape.h.
References m_upAxis.
Referenced by batchedUnitVectorGetSupportingVertexWithoutMargin(), calculateLocalInertia(), btCollisionWorld::debugDrawObject(), localGetSupportingVertexWithoutMargin(), and btConvexConvexAlgorithm::processCollision().
| btVector3 btCapsuleShape::localGetSupportingVertexWithoutMargin | ( | const btVector3 & | vec | ) | const [virtual] |
btConvexShape Interface
Definition at line 30 of file btCapsuleShape.cpp.
References BT_LARGE_FLOAT, btSqrt(), getHalfHeight(), btConvexInternalShape::getMargin(), getRadius(), getUpAxis(), and btConvexInternalShape::m_localScaling.
| SIMD_FORCE_INLINE const char * btCapsuleShape::serialize | ( | void * | dataBuffer, |
| btSerializer * | serializer | ||
| ) | const [virtual] |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btConvexInternalShape.
Definition at line 162 of file btCapsuleShape.h.
References btCapsuleShapeData::m_convexInternalShapeData, m_upAxis, and btCapsuleShapeData::m_upAxis.
| virtual void btCapsuleShape::setLocalScaling | ( | const btVector3 & | scaling | ) | [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 92 of file btCapsuleShape.h.
References btConvexInternalShape::getMargin(), btConvexInternalShape::m_implicitShapeDimensions, and btConvexInternalShape::m_localScaling.
| virtual void btCapsuleShape::setMargin | ( | btScalar | collisionMargin | ) | [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 46 of file btCapsuleShape.h.
References btConvexInternalShape::getMargin(), and btConvexInternalShape::m_implicitShapeDimensions.
int btCapsuleShape::m_upAxis [protected] |
Definition at line 29 of file btCapsuleShape.h.
Referenced by btCapsuleShape(), btCapsuleShapeX::btCapsuleShapeX(), btCapsuleShapeZ::btCapsuleShapeZ(), getAabb(), getHalfHeight(), getRadius(), getUpAxis(), and serialize().