| Bullet Collision Detection & Physics Library
    | 
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.  More... | |
| virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const | 
| btConvexShape Interface  More... | |
| 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  More... | |
| 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  More... | |
| 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)  More... | |
| void | deSerializeFloat (struct btCapsuleShapeData *dataBuffer) | 
|  Public Member Functions inherited from btConvexInternalShape | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| virtual | ~btConvexInternalShape () | 
| virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const | 
| const btVector3 & | getImplicitShapeDimensions () const | 
| void | setImplicitShapeDimensions (const btVector3 &dimensions) | 
| 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'  More... | |
| void | setSafeMargin (btScalar minDimension, btScalar defaultMarginMultiplier=0.1f) | 
| void | setSafeMargin (const btVector3 &halfExtents, btScalar defaultMarginMultiplier=0.1f) | 
| 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  More... | |
| virtual void | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) 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 | 
|  Public Member Functions inherited from btConvexShape | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| btConvexShape () | |
| not supported on IBM SDK, until we fix the alignment of btVector3  More... | |
| virtual | ~btConvexShape () | 
| btVector3 | localGetSupportVertexWithoutMarginNonVirtual (const btVector3 &vec) const | 
| btVector3 | localGetSupportVertexNonVirtual (const btVector3 &vec) const | 
| btScalar | getMarginNonVirtual () const | 
| void | getAabbNonVirtual (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const | 
| virtual void | project (const btTransform &trans, const btVector3 &dir, btScalar &minProj, btScalar &maxProj, btVector3 &witnesPtMin, btVector3 &witnesPtMax) const | 
|  Public Member Functions inherited from btCollisionShape | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| btCollisionShape () | |
| virtual | ~btCollisionShape () | 
| virtual void | getBoundingSphere (btVector3 ¢er, btScalar &radius) const | 
| virtual btScalar | getAngularMotionDisc () const | 
| getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of-impact with rotations.  More... | |
| virtual btScalar | getContactBreakingThreshold (btScalar defaultContactThresholdFactor) const | 
| void | calculateTemporalAabb (const btTransform &curTrans, const btVector3 &linvel, const btVector3 &angvel, btScalar timeStep, btVector3 &temporalAabbMin, btVector3 &temporalAabbMax) const | 
| calculateTemporalAabb calculates the enclosing aabb for the moving object over interval [0..timeStep) result is conservative  More... | |
| bool | isPolyhedral () const | 
| bool | isConvex2d () const | 
| bool | isConvex () const | 
| bool | isNonMoving () const | 
| bool | isConcave () const | 
| bool | isCompound () const | 
| bool | isSoftBody () const | 
| bool | isInfinite () const | 
| isInfinite is used to catch simulation error (aabb check)  More... | |
| int | getShapeType () const | 
| void | setUserPointer (void *userPtr) | 
| optional user data pointer  More... | |
| void * | getUserPointer () const | 
| void | setUserIndex (int index) | 
| int | getUserIndex () const | 
| virtual void | serializeSingleShape (btSerializer *serializer) const | 
| Protected Member Functions | |
| btCapsuleShape () | |
| only used for btCapsuleShapeZ and btCapsuleShapeX subclasses.  More... | |
|  Protected Member Functions inherited from btConvexInternalShape | |
| btConvexInternalShape () | |
| Protected Attributes | |
| int | m_upAxis | 
|  Protected Attributes inherited from btConvexInternalShape | |
| btVector3 | m_localScaling | 
| btVector3 | m_implicitShapeDimensions | 
| btScalar | m_collisionMargin | 
| btScalar | m_padding | 
|  Protected Attributes inherited from btCollisionShape | |
| int | m_shapeType | 
| void * | m_userPointer | 
| int | m_userIndex | 
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.
| 
 | inlineprotected | 
only used for btCapsuleShapeZ and btCapsuleShapeX subclasses.
Definition at line 33 of file btCapsuleShape.h.
Definition at line 21 of file btCapsuleShape.cpp.
| 
 | virtual | 
Implements btConvexShape.
Definition at line 82 of file btCapsuleShape.cpp.
| btCapsuleShape::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) | 
CollisionShape Interface.
Implements btCollisionShape.
Definition at line 121 of file btCapsuleShape.cpp.
| 
 | inlinevirtual | 
Reimplemented from btConvexInternalShape.
Definition at line 158 of file btCapsuleShape.h.
| 
 | inline | 
Definition at line 175 of file btCapsuleShape.h.
| 
 | inlinevirtual | 
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Implements btConvexShape.
Definition at line 54 of file btCapsuleShape.h.
| 
 | inlinevirtual | 
the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example
Reimplemented from btCollisionShape.
Definition at line 97 of file btCapsuleShape.h.
| 
 | inline | 
Definition at line 82 of file btCapsuleShape.h.
| 
 | inlinevirtual | 
Implements btCollisionShape.
Reimplemented in btCapsuleShapeZ, and btCapsuleShapeX.
Definition at line 66 of file btCapsuleShape.h.
| 
 | inline | 
Definition at line 76 of file btCapsuleShape.h.
| 
 | inline | 
Definition at line 71 of file btCapsuleShape.h.
| 
 | inlinevirtual | 
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btConvexInternalShape.
Definition at line 164 of file btCapsuleShape.h.
| 
 | inlinevirtual | 
Reimplemented from btConvexInternalShape.
Definition at line 87 of file btCapsuleShape.h.
| 
 | inlinevirtual | 
Reimplemented from btConvexInternalShape.
Definition at line 49 of file btCapsuleShape.h.
| 
 | protected | 
Definition at line 29 of file btCapsuleShape.h.
 1.8.12
 1.8.12