|
Blender
V2.59
|
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 btCylinderShape, btCapsuleShape, 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 btConvexInternalAabbCachingShape, btSoftClusterCollisionShape, btBox2dShape, btBoxShape, btPolyhedralConvexAabbCachingShape, btCapsuleShape, btCylinderShape, and btBU_Simplex1to4.
Definition at line 66 of file btConvexInternalShape.h.
References getAabbSlow().
Referenced by btPolyhedralConvexShape::calculateLocalInertia(), and btConeShape::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 btSoftClusterCollisionShape, and btMinkowskiSumShape.
Definition at line 91 of file btConvexInternalShape.h.
References m_collisionMargin.
Referenced by btMultiSphereShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btCapsuleShape::batchedUnitVectorGetSupportingVertexWithoutMargin(), btBox2dShape::btBox2dShape(), btBoxShape::btBoxShape(), btCylinderShape::btCylinderShape(), btPolyhedralConvexShape::calculateLocalInertia(), btConeShape::calculateLocalInertia(), btCylinderShape::getAabb(), btCapsuleShape::getAabb(), btPolyhedralConvexAabbCachingShape::getAabb(), btBoxShape::getAabb(), btBox2dShape::getAabb(), btConvexInternalAabbCachingShape::getAabb(), getAabbSlow(), btCylinderShape::getHalfExtentsWithMargin(), btBoxShape::getHalfExtentsWithMargin(), btBox2dShape::getHalfExtentsWithMargin(), btSphereBoxCollisionAlgorithm::getSphereDistance(), btConeShape::localGetSupportingVertex(), btConvexTriangleMeshShape::localGetSupportingVertex(), btBoxShape::localGetSupportingVertex(), localGetSupportingVertex(), btBox2dShape::localGetSupportingVertex(), btCylinderShape::localGetSupportingVertex(), btMultiSphereShape::localGetSupportingVertexWithoutMargin(), btCapsuleShape::localGetSupportingVertexWithoutMargin(), btCapsuleShape::setLocalScaling(), btBoxShape::setLocalScaling(), btCylinderShape::setLocalScaling(), btBox2dShape::setLocalScaling(), btCapsuleShape::setMargin(), btCylinderShape::setMargin(), btBoxShape::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 btSoftClusterCollisionShape, btCylinderShape, btBox2dShape, btBoxShape, btConvexTriangleMeshShape, and btConeShape.
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 btCylinderShape, btCapsuleShape, and btMultiSphereShape.
Definition at line 144 of file btConvexInternalShape.h.
References m_collisionMargin, btConvexInternalShapeData::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 btConvexInternalAabbCachingShape, btBox2dShape, btCylinderShape, btBoxShape, btCapsuleShape, btPolyhedralConvexAabbCachingShape, btConeShape, and btConvexTriangleMeshShape.
Definition at line 28 of file btConvexInternalShape.cpp.
References m_localScaling.
| virtual void btConvexInternalShape::setMargin | ( | btScalar | margin | ) | [inline, virtual] |
Reimplemented in btSoftClusterCollisionShape, btBox2dShape, btBoxShape, btCylinderShape, and btCapsuleShape.
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(), btCapsuleShape::setLocalScaling(), btBoxShape::setLocalScaling(), btCylinderShape::setLocalScaling(), btBox2dShape::setLocalScaling(), btCapsuleShape::setMargin(), btCylinderShape::setMargin(), btBoxShape::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(), btConeShape::setLocalScaling(), btCapsuleShape::setLocalScaling(), btBoxShape::setLocalScaling(), btCylinderShape::setLocalScaling(), and btBox2dShape::setLocalScaling().
btScalar btConvexInternalShape::m_padding [protected] |
Definition at line 36 of file btConvexInternalShape.h.