Blender
V3.3
|
#include "LinearMath/btTransform.h"
#include "LinearMath/btVector3.h"
#include "LinearMath/btMatrix3x3.h"
#include "BulletCollision/BroadphaseCollision/btBroadphaseProxy.h"
Go to the source code of this file.
Classes | |
struct | btCollisionShapeData |
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 More... | |
Functions | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
virtual | ~btCollisionShape () |
virtual void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t. More... | |
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 |
SIMD_FORCE_INLINE bool | isPolyhedral () const |
SIMD_FORCE_INLINE bool | isConvex2d () const |
SIMD_FORCE_INLINE bool | isConvex () const |
SIMD_FORCE_INLINE bool | isNonMoving () const |
SIMD_FORCE_INLINE bool | isConcave () const |
SIMD_FORCE_INLINE bool | isCompound () const |
SIMD_FORCE_INLINE bool | isSoftBody () const |
SIMD_FORCE_INLINE bool | isInfinite () const |
isInfinite is used to catch simulation error (aabb check) More... | |
virtual void | setLocalScaling (const btVector3 &scaling)=0 |
virtual const btVector3 & | getLocalScaling () const =0 |
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const =0 |
CollisionShape Interface. More... | |
virtual const char * | getName () const =0 |
getName is for debugging More... | |
int | getShapeType () const |
virtual btVector3 | getAnisotropicRollingFrictionDirection () const |
virtual void | setMargin (btScalar margin)=0 |
virtual btScalar | getMargin () const =0 |
void | setUserPointer (void *userPtr) |
optional user data pointer More... | |
void * | getUserPointer () const |
void | setUserIndex (int index) |
int | getUserIndex () 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... | |
virtual void | serializeSingleShape (btSerializer *serializer) const |
Variables | |
btCollisionShape | |
The btCollisionShape class provides an interface for collision shapes that can be shared among btCollisionObjects. More... | |
void * | m_userPointer |
int | m_userIndex |
BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
CollisionShape Interface.
Definition at line 54 of file btConeShape.h.
|
virtual |
void btCollisionShape::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
Definition at line 57 of file btCollisionShape.cpp.
References btVector3, getAabb(), and getAngularMotionDisc().
|
pure virtual |
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
Definition at line 54 of file btCapsuleShape.h.
|
virtual |
getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of-impact with rotations.
Definition at line 47 of file btCollisionShape.cpp.
References btVector3, center, getBoundingSphere(), and blender::math::length().
Referenced by calculateTemporalAabb(), and getContactBreakingThreshold().
|
virtual |
the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example
Definition at line 113 of file btCollisionShape.h.
References btVector3.
Definition at line 30 of file btCollisionShape.cpp.
References btTransform, btVector3, center, getAabb(), and blender::math::length().
Referenced by getAngularMotionDisc().
|
virtual |
Definition at line 42 of file btCollisionShape.cpp.
References getAngularMotionDisc().
Referenced by getCacheEntry().
|
pure virtual |
Definition at line 126 of file btCompoundShape.h.
References m_localScaling.
Referenced by setOptimizedBvh().
|
pure virtual |
Definition at line 137 of file btCompoundShape.h.
References m_collisionMargin.
Referenced by btBox2dShape(), btBoxShape(), btCylinderShape(), btConvexInternalAabbCachingShape::getAabb(), btPolyhedralConvexAabbCachingShape::getAabb(), getHalfExtentsWithMargin(), btSoftClusterCollisionShape::getMargin(), getMarginNonVirtual(), initializePolyhedralFeatures(), localGetSupportingVertex(), btTriangleShapeEx::overlap_test_conservative(), setLocalScaling(), and setMargin().
|
pure virtual |
getName is for debugging
Definition at line 301 of file btBox2dShape.h.
Referenced by MeshImporter::create_mesh_object(), and DocumentImporter::write_node().
int getShapeType | ( | ) | const |
Definition at line 106 of file btCollisionShape.h.
Referenced by isCompound(), isConcave(), isConvex(), isConvex2d(), isInfinite(), isNonMoving(), isPolyhedral(), and isSoftBody().
int getUserIndex | ( | ) | const |
Definition at line 135 of file btCollisionShape.h.
References m_userIndex.
void* getUserPointer | ( | ) | const |
Definition at line 126 of file btCollisionShape.h.
References m_userPointer.
SIMD_FORCE_INLINE bool isCompound | ( | ) | const |
Definition at line 81 of file btCollisionShape.h.
References getShapeType().
Referenced by btDefaultCollisionConfiguration::getClosestPointsAlgorithmCreateFunc(), and btDefaultCollisionConfiguration::getCollisionAlgorithmCreateFunc().
SIMD_FORCE_INLINE bool isConcave | ( | ) | const |
Definition at line 77 of file btCollisionShape.h.
References getShapeType().
Referenced by btDefaultCollisionConfiguration::getClosestPointsAlgorithmCreateFunc(), btDefaultCollisionConfiguration::getCollisionAlgorithmCreateFunc(), and btSoftBodyRigidBodyCollisionConfiguration::getCollisionAlgorithmCreateFunc().
SIMD_FORCE_INLINE bool isConvex | ( | ) | const |
Definition at line 69 of file btCollisionShape.h.
References getShapeType().
Referenced by btDefaultCollisionConfiguration::getClosestPointsAlgorithmCreateFunc(), btDefaultCollisionConfiguration::getCollisionAlgorithmCreateFunc(), btSoftBodyRigidBodyCollisionConfiguration::getCollisionAlgorithmCreateFunc(), GrahamScanConvexHull2D(), and btConnectivityProcessor::processTriangle().
SIMD_FORCE_INLINE bool isConvex2d | ( | ) | const |
Definition at line 64 of file btCollisionShape.h.
References getShapeType().
SIMD_FORCE_INLINE bool isInfinite | ( | ) | const |
isInfinite is used to catch simulation error (aabb check)
Definition at line 92 of file btCollisionShape.h.
References getShapeType().
SIMD_FORCE_INLINE bool isNonMoving | ( | ) | const |
Definition at line 73 of file btCollisionShape.h.
References getShapeType().
SIMD_FORCE_INLINE bool isPolyhedral | ( | ) | const |
Definition at line 59 of file btCollisionShape.h.
References getShapeType().
SIMD_FORCE_INLINE bool isSoftBody | ( | ) | const |
Definition at line 86 of file btCollisionShape.h.
References getShapeType().
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
|
virtual |
Definition at line 113 of file btCollisionShape.cpp.
References btSerializer::allocate(), BT_SHAPE_CODE, calculateSerializeBufferSize(), btSerializer::finalizeChunk(), len, btChunk::m_oldPtr, and serialize().
Definition at line 120 of file btBox2dShape.h.
Definition at line 110 of file btBox2dShape.h.
void setUserIndex | ( | int | index | ) |
Definition at line 130 of file btCollisionShape.h.
References m_userIndex.
optional user data pointer
Definition at line 121 of file btCollisionShape.h.
References m_userPointer.
|
virtual |
Definition at line 41 of file btCollisionShape.h.
btCollisionShape |
The btCollisionShape class provides an interface for collision shapes that can be shared among btCollisionObjects.
Definition at line 27 of file btCollisionShape.h.
Referenced by btSoftBody::appendDeformableAnchor(), btSoftBody::checkContact(), btSoftBody::checkDeformableContact(), btSoftBody::checkDeformableFaceContact(), btCollisionWorldImporter::convertAllObjects(), btCollisionWorldImporter::convertCollisionShape(), btCollisionWorld::debugDrawObject(), btGImpactCompoundShape::CompoundPrimitiveManager::get_primitive_box(), btCollisionWorldImporter::getCollisionShapeByName(), btGImpactCollisionAlgorithm::gimpact_vs_compoundshape(), btGImpactCollisionAlgorithm::gimpact_vs_gimpact(), btGImpactCollisionAlgorithm::gimpact_vs_shape(), btDeformableMultiBodyDynamicsWorld::integrateTransforms(), btCollisionWorld::objectQuerySingleInternal(), btCompoundCollisionAlgorithm::preallocateChildAlgorithms(), btCompoundLeafCallback::Process(), btCompoundCompoundLeafCallback::Process(), btCompoundCollisionAlgorithm::processCollision(), btCompoundCompoundCollisionAlgorithm::processCollision(), btSoftBodyTriangleCallback::processTriangle(), btCollisionWorld::rayTestSingleInternal(), RB_body_get_scale(), RB_body_set_mass(), RB_body_set_scale(), RB_world_convex_sweep_test(), btCollisionWorld::serializeCollisionObjects(), and btGImpactShapeInterface::setMargin().
int m_userIndex |
Definition at line 32 of file btCollisionShape.h.
Referenced by getUserIndex(), and setUserIndex().
void* m_userPointer |
Definition at line 31 of file btCollisionShape.h.
Referenced by btCompoundCompoundCollisionAlgorithm::getAllContactManifolds(), getUserPointer(), btCompoundCompoundCollisionAlgorithm::processCollision(), and setUserPointer().