Blender V2.61 - r43446
|
The btCylinderShape class implements a cylinder shape primitive, centered around the origin. Its central axis aligned with the Y axis. btCylinderShapeX is aligned with the X axis and btCylinderShapeZ around the Z axis. More...
#include <btCylinderShape.h>
Public Member Functions | |
btVector3 | getHalfExtentsWithMargin () const |
const btVector3 & | getHalfExtentsWithoutMargin () const |
btCylinderShape (const btVector3 &halfExtents) | |
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 | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const |
virtual void | setMargin (btScalar collisionMargin) |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
int | getUpAxis () const |
virtual btScalar | getRadius () const |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual const char * | getName () const |
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 Attributes | |
int | m_upAxis |
The btCylinderShape class implements a cylinder shape primitive, centered around the origin. Its central axis aligned with the Y axis. btCylinderShapeX is aligned with the X axis and btCylinderShapeZ around the Z axis.
Definition at line 24 of file btCylinderShape.h.
btCylinderShape::btCylinderShape | ( | const btVector3 & | halfExtents | ) |
Definition at line 18 of file btCylinderShape.cpp.
References CYLINDER_SHAPE_PROXYTYPE, btConvexInternalShape::getMargin(), btConvexInternalShape::m_implicitShapeDimensions, and btConvexInternalShape::m_localScaling.
void btCylinderShape::batchedUnitVectorGetSupportingVertexWithoutMargin | ( | const btVector3 * | vectors, |
btVector3 * | supportVerticesOut, | ||
int | numVectors | ||
) | const [virtual] |
Reimplemented in btCylinderShapeX, and btCylinderShapeZ.
Definition at line 252 of file btCylinderShape.cpp.
References CylinderLocalSupportY(), getHalfExtentsWithoutMargin(), and i.
void btCylinderShape::calculateLocalInertia | ( | btScalar | mass, |
btVector3 & | inertia | ||
) | const [virtual] |
Definition at line 48 of file btCylinderShape.cpp.
References getHalfExtentsWithMargin(), and m_upAxis.
SIMD_FORCE_INLINE int btCylinderShape::calculateSerializeBufferSize | ( | ) | const [virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 180 of file btCylinderShape.h.
void btCylinderShape::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
Reimplemented from btConvexInternalShape.
Definition at line 43 of file btCylinderShape.cpp.
References btTransformAabb(), getHalfExtentsWithoutMargin(), and btConvexInternalShape::getMargin().
btVector3 btCylinderShape::getHalfExtentsWithMargin | ( | ) | const [inline] |
Definition at line 34 of file btCylinderShape.h.
References getHalfExtentsWithoutMargin(), and btConvexInternalShape::getMargin().
Referenced by calculateLocalInertia(), btCollisionWorld::debugDrawObject(), btCylinderShapeZ::getRadius(), btCylinderShapeX::getRadius(), and getRadius().
const btVector3& btCylinderShape::getHalfExtentsWithoutMargin | ( | ) | const [inline] |
Definition at line 42 of file btCylinderShape.h.
References btConvexInternalShape::m_implicitShapeDimensions.
Referenced by btCylinderShapeZ::batchedUnitVectorGetSupportingVertexWithoutMargin(), batchedUnitVectorGetSupportingVertexWithoutMargin(), btCylinderShapeX::batchedUnitVectorGetSupportingVertexWithoutMargin(), getAabb(), getHalfExtentsWithMargin(), btCylinderShapeZ::localGetSupportingVertexWithoutMargin(), localGetSupportingVertexWithoutMargin(), and btCylinderShapeX::localGetSupportingVertexWithoutMargin().
virtual const char* btCylinderShape::getName | ( | void | ) | const [inline, virtual] |
Reimplemented in btCylinderShapeX, and btCylinderShapeZ.
Definition at line 116 of file btCylinderShape.h.
virtual btScalar btCylinderShape::getRadius | ( | ) | const [inline, virtual] |
Reimplemented in btCylinderShapeX, and btCylinderShapeZ.
Definition at line 98 of file btCylinderShape.h.
References getHalfExtentsWithMargin().
Referenced by btCollisionWorld::debugDrawObject().
int btCylinderShape::getUpAxis | ( | ) | const [inline] |
Definition at line 93 of file btCylinderShape.h.
References m_upAxis.
Referenced by btCollisionWorld::debugDrawObject().
virtual btVector3 btCylinderShape::localGetSupportingVertex | ( | const btVector3 & | vec | ) | const [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 69 of file btCylinderShape.h.
References btConvexInternalShape::getMargin(), localGetSupportingVertexWithoutMargin(), and SIMD_EPSILON.
btVector3 btCylinderShape::localGetSupportingVertexWithoutMargin | ( | const btVector3 & | vec | ) | const [virtual] |
Reimplemented in btCylinderShapeX, and btCylinderShapeZ.
Definition at line 247 of file btCylinderShape.cpp.
References CylinderLocalSupportY(), and getHalfExtentsWithoutMargin().
Referenced by localGetSupportingVertex().
SIMD_FORCE_INLINE const char * btCylinderShape::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 186 of file btCylinderShape.h.
References btCylinderShapeData::m_convexInternalShapeData, btCylinderShapeData::m_upAxis, and m_upAxis.
virtual void btCylinderShape::setLocalScaling | ( | const btVector3 & | scaling | ) | [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 103 of file btCylinderShape.h.
References btConvexInternalShape::getMargin(), btConvexInternalShape::m_implicitShapeDimensions, and btConvexInternalShape::m_localScaling.
virtual void btCylinderShape::setMargin | ( | btScalar | collisionMargin | ) | [inline, virtual] |
Reimplemented from btConvexInternalShape.
Definition at line 57 of file btCylinderShape.h.
References btConvexInternalShape::getMargin(), and btConvexInternalShape::m_implicitShapeDimensions.
int btCylinderShape::m_upAxis [protected] |
Definition at line 30 of file btCylinderShape.h.
Referenced by btCylinderShapeX::btCylinderShapeX(), btCylinderShapeZ::btCylinderShapeZ(), calculateLocalInertia(), getUpAxis(), and serialize().