Blender V2.61 - r43446
|
The btConvexInternalShape is an internal base class, shared by most convex shape implementations. More...
#include <btConvexInternalShape.h>
Public Member Functions | |
virtual | ~btConvexInternalShape () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
const btVector3 & | getImplicitShapeDimensions () const |
void | setImplicitShapeDimensions (const btVector3 &dimensions) |
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 | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual const btVector3 & | getLocalScaling () const |
const btVector3 & | getLocalScalingNV () const |
virtual void | setMargin (btScalar margin) |
virtual btScalar | getMargin () const |
btScalar | getMarginNV () const |
virtual int | getNumPreferredPenetrationDirections () const |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) 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 Member Functions | |
btConvexInternalShape () | |
Protected Attributes | |
btVector3 | m_localScaling |
btVector3 | m_implicitShapeDimensions |
btScalar | m_collisionMargin |
btScalar | m_padding |
The btConvexInternalShape is an internal base class, shared by most convex shape implementations.
Definition at line 24 of file btConvexInternalShape.h.
btConvexInternalShape::btConvexInternalShape | ( | ) | [protected] |
Definition at line 21 of file btConvexInternalShape.cpp.
virtual btConvexInternalShape::~btConvexInternalShape | ( | ) | [inline, virtual] |
Definition at line 44 of file btConvexInternalShape.h.
SIMD_FORCE_INLINE int btConvexInternalShape::calculateSerializeBufferSize | ( | ) | const [virtual] |
Reimplemented in btCapsuleShape, btCylinderShape, and btMultiSphereShape.
Definition at line 138 of file btConvexInternalShape.h.
void btConvexInternalShape::getAabb | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const [inline] |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Reimplemented in btBox2dShape, btBoxShape, btCapsuleShape, btConvexInternalAabbCachingShape, btCylinderShape, btPolyhedralConvexAabbCachingShape, btBU_Simplex1to4, and btSoftClusterCollisionShape.
Definition at line 66 of file btConvexInternalShape.h.
References getAabbSlow().
Referenced by btConeShape::calculateLocalInertia(), and btPolyhedralConvexShape::calculateLocalInertia().
void btConvexInternalShape::getAabbSlow | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const [virtual] |
Definition at line 35 of file btConvexInternalShape.cpp.
References btTransform::getBasis(), getMargin(), i, and localGetSupportingVertex().
Referenced by getAabb().
const btVector3& btConvexInternalShape::getImplicitShapeDimensions | ( | ) | const [inline] |
Definition at line 51 of file btConvexInternalShape.h.
References m_implicitShapeDimensions.
virtual const btVector3& btConvexInternalShape::getLocalScaling | ( | ) | const [inline, virtual] |
Reimplemented in btConvexTriangleMeshShape.
Definition at line 77 of file btConvexInternalShape.h.
References m_localScaling.
Referenced by btConvexConvexAlgorithm::processCollision().
const btVector3& btConvexInternalShape::getLocalScalingNV | ( | ) | const [inline] |
Definition at line 82 of file btConvexInternalShape.h.
References m_localScaling.
virtual btScalar btConvexInternalShape::getMargin | ( | ) | const [inline, virtual] |
Reimplemented in btMinkowskiSumShape, and btSoftClusterCollisionShape.
Definition at line 91 of file btConvexInternalShape.h.
References m_collisionMargin.
Referenced by btMultiSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btCapsuleShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btBox2dShape::btBox2dShape(), btBoxShape::btBoxShape(), btCylinderShape::btCylinderShape(), btConeShape::calculateLocalInertia(), btPolyhedralConvexShape::calculateLocalInertia(), btCylinderShape::getAabb(), btBox2dShape::getAabb(), btBoxShape::getAabb(), btConvexInternalAabbCachingShape::getAabb(), btCapsuleShape::getAabb(), btPolyhedralConvexAabbCachingShape::getAabb(), getAabbSlow(), btBoxShape::getHalfExtentsWithMargin(), btCylinderShape::getHalfExtentsWithMargin(), btBox2dShape::getHalfExtentsWithMargin(), btSphereBoxCollisionAlgorithm::getSphereDistance(), btCylinderShape::localGetSupportingVertex(), btBox2dShape::localGetSupportingVertex(), localGetSupportingVertex(), btBoxShape::localGetSupportingVertex(), btConvexTriangleMeshShape::localGetSupportingVertex(), btConeShape::localGetSupportingVertex(), btMultiSphereShape::localGetSupportingVertexWithoutMargin(), btCapsuleShape::localGetSupportingVertexWithoutMargin(), btBox2dShape::setLocalScaling(), btCylinderShape::setLocalScaling(), btCapsuleShape::setLocalScaling(), btBoxShape::setLocalScaling(), btCapsuleShape::setMargin(), btBoxShape::setMargin(), btCylinderShape::setMargin(), and btBox2dShape::setMargin().
btScalar btConvexInternalShape::getMarginNV | ( | ) | const [inline] |
Definition at line 96 of file btConvexInternalShape.h.
References m_collisionMargin.
virtual int btConvexInternalShape::getNumPreferredPenetrationDirections | ( | ) | const [inline, virtual] |
Reimplemented in btBox2dShape, and btBoxShape.
Definition at line 101 of file btConvexInternalShape.h.
virtual void btConvexInternalShape::getPreferredPenetrationDirection | ( | int | index, |
btVector3 & | penetrationVector | ||
) | const [inline, virtual] |
Reimplemented in btBox2dShape, and btBoxShape.
Definition at line 106 of file btConvexInternalShape.h.
References btAssert.
btVector3 btConvexInternalShape::localGetSupportingVertex | ( | const btVector3 & | vec | ) | const [virtual] |
Reimplemented in btBox2dShape, btBoxShape, btConeShape, btConvexTriangleMeshShape, btCylinderShape, and btSoftClusterCollisionShape.
Definition at line 58 of file btConvexInternalShape.cpp.
References btAssert, getMargin(), and SIMD_EPSILON.
Referenced by getAabbSlow(), btPolyhedralConvexAabbCachingShape::recalcLocalAabb(), and btConvexInternalAabbCachingShape::recalcLocalAabb().
SIMD_FORCE_INLINE const char * btConvexInternalShape::serialize | ( | void * | dataBuffer, |
btSerializer * | serializer | ||
) | const [virtual] |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented in btCapsuleShape, btCylinderShape, and btMultiSphereShape.
Definition at line 144 of file btConvexInternalShape.h.
References btConvexInternalShapeData::m_collisionMargin, m_collisionMargin, btConvexInternalShapeData::m_collisionShapeData, m_implicitShapeDimensions, btConvexInternalShapeData::m_implicitShapeDimensions, m_localScaling, and btConvexInternalShapeData::m_localScaling.
void btConvexInternalShape::setImplicitShapeDimensions | ( | const btVector3 & | dimensions | ) | [inline] |
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'
Definition at line 60 of file btConvexInternalShape.h.
References m_implicitShapeDimensions.
void btConvexInternalShape::setLocalScaling | ( | const btVector3 & | scaling | ) | [virtual] |
Reimplemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvexInternalAabbCachingShape, btConvexTriangleMeshShape, btCylinderShape, and btPolyhedralConvexAabbCachingShape.
Definition at line 28 of file btConvexInternalShape.cpp.
References m_localScaling.
virtual void btConvexInternalShape::setMargin | ( | btScalar | margin | ) | [inline, virtual] |
Reimplemented in btBox2dShape, btBoxShape, btCapsuleShape, btCylinderShape, and btSoftClusterCollisionShape.
Definition at line 87 of file btConvexInternalShape.h.
References m_collisionMargin.
Referenced by ATTRIBUTE_ALIGNED16().
btScalar btConvexInternalShape::m_collisionMargin [protected] |
Definition at line 34 of file btConvexInternalShape.h.
Referenced by getMargin(), getMarginNV(), btPolyhedralConvexAabbCachingShape::recalcLocalAabb(), btConvexInternalAabbCachingShape::recalcLocalAabb(), serialize(), and setMargin().
btVector3 btConvexInternalShape::m_implicitShapeDimensions [protected] |
Definition at line 32 of file btConvexInternalShape.h.
Referenced by btBox2dShape::btBox2dShape(), btBoxShape::btBoxShape(), btCapsuleShape::btCapsuleShape(), btCapsuleShapeX::btCapsuleShapeX(), btCapsuleShapeZ::btCapsuleShapeZ(), btCylinderShape::btCylinderShape(), btCylinderShape::getHalfExtentsWithoutMargin(), btBoxShape::getHalfExtentsWithoutMargin(), btBox2dShape::getHalfExtentsWithoutMargin(), btCapsuleShape::getHalfHeight(), getImplicitShapeDimensions(), btCapsuleShape::getRadius(), serialize(), setImplicitShapeDimensions(), btBox2dShape::setLocalScaling(), btCylinderShape::setLocalScaling(), btCapsuleShape::setLocalScaling(), btBoxShape::setLocalScaling(), btCapsuleShape::setMargin(), btBoxShape::setMargin(), btCylinderShape::setMargin(), and btBox2dShape::setMargin().
btVector3 btConvexInternalShape::m_localScaling [protected] |
Definition at line 30 of file btConvexInternalShape.h.
Referenced by btMultiSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btCapsuleShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btBox2dShape::btBox2dShape(), btBoxShape::btBoxShape(), btCylinderShape::btCylinderShape(), getLocalScaling(), getLocalScalingNV(), btMultiSphereShape::localGetSupportingVertexWithoutMargin(), btCapsuleShape::localGetSupportingVertexWithoutMargin(), serialize(), setLocalScaling(), btBox2dShape::setLocalScaling(), btCylinderShape::setLocalScaling(), btConeShape::setLocalScaling(), btCapsuleShape::setLocalScaling(), and btBoxShape::setLocalScaling().
btScalar btConvexInternalShape::m_padding [protected] |
Definition at line 36 of file btConvexInternalShape.h.