|
| BT_DECLARE_ALIGNED_ALLOCATOR () |
|
| btCompoundShape (bool enableDynamicAabbTree=true, const int initialChildCapacity=0) |
|
virtual | ~btCompoundShape () |
|
void | addChildShape (const btTransform &localTransform, btCollisionShape *shape) |
|
virtual void | removeChildShape (btCollisionShape *shape) |
| Remove all children shapes that contain the specified shape. More...
|
|
void | removeChildShapeByIndex (int childShapeindex) |
|
int | getNumChildShapes () const |
|
btCollisionShape * | getChildShape (int index) |
|
const btCollisionShape * | getChildShape (int index) const |
|
btTransform & | getChildTransform (int index) |
|
const btTransform & | getChildTransform (int index) const |
|
void | updateChildTransform (int childIndex, const btTransform &newChildTransform, bool shouldRecalculateLocalAabb=true) |
| set a new transform for a child, and update internal data structures (local aabb and dynamic tree) More...
|
|
btCompoundShapeChild * | getChildList () |
|
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 void | recalculateLocalAabb () |
| Re-calculate the local Aabb. More...
|
|
virtual void | setLocalScaling (const btVector3 &scaling) |
|
virtual const btVector3 & | getLocalScaling () const |
|
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
|
virtual void | setMargin (btScalar margin) |
|
virtual btScalar | getMargin () const |
|
virtual const char * | getName () const |
|
const btDbvt * | getDynamicAabbTree () const |
|
btDbvt * | getDynamicAabbTree () |
|
void | createAabbTreeFromChildren () |
|
void | calculatePrincipalAxisTransform (const btScalar *masses, btTransform &principal, btVector3 &inertia) const |
| computes the exact moment of inertia and the transform from the coordinate system defined by the principal axes of the moment of inertia and the center of mass to the current coordinate system. More...
|
|
int | getUpdateRevision () 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) More...
|
|
| 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 |
|
virtual btVector3 | getAnisotropicRollingFrictionDirection () const |
| the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example More...
|
|
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 |
|
The btCompoundShape allows to store multiple other btCollisionShapes This allows for moving concave collision objects.
This is more general then the static concave btBvhTriangleMeshShape. It has an (optional) dynamic aabb tree to accelerate early rejection tests.
Definition at line 54 of file btCompoundShape.h.
computes the exact moment of inertia and the transform from the coordinate system defined by the principal axes of the moment of inertia and the center of mass to the current coordinate system.
"masses" points to an array of masses of the children. The resulting transform "principal" has to be applied inversely to all children transforms in order for the local coordinate system of the compound shape to be centered at the center of mass and to coincide with the principal axes. This also necessitates a correction of the world transform of the collision object by the principal transform.
Definition at line 216 of file btCompoundShape.cpp.