Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | btConvexInternalShapeData |
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 More... | |
class | btConvexInternalAabbCachingShape |
btConvexInternalAabbCachingShape adds local aabb caching for convex shapes, to avoid expensive bounding box calculations More... | |
Functions | |
btConvexInternalShape () | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
virtual | ~btConvexInternalShape () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
const btVector3 & | getImplicitShapeDimensions () const |
void | setImplicitShapeDimensions (const btVector3 &dimensions) |
void | setSafeMargin (btScalar minDimension, btScalar defaultMarginMultiplier=0.1f) |
void | setSafeMargin (const btVector3 &halfExtents, btScalar defaultMarginMultiplier=0.1f) |
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 | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
virtual void | setLocalScaling (const btVector3 &scaling) |
in case we receive negative scaling More... | |
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) More... | |
Variables | |
btConvexInternalShape | __pad0__ |
btVector3 | m_implicitShapeDimensions |
btScalar | m_collisionMargin |
btScalar | m_padding |
BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
btConvexInternalShape::btConvexInternalShape | ( | ) |
Definition at line 18 of file btConvexInternalShape.cpp.
|
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
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
Definition at line 84 of file btConvexInternalShape.h.
References getAabbSlow(), and t.
|
virtual |
Referenced by getAabb().
const btVector3& getImplicitShapeDimensions | ( | ) | const |
Definition at line 52 of file btConvexInternalShape.h.
References m_implicitShapeDimensions.
|
virtual |
Definition at line 92 of file btConvexInternalShape.h.
References m_localScaling.
const btVector3& getLocalScalingNV | ( | ) | const |
Definition at line 97 of file btConvexInternalShape.h.
References m_localScaling.
|
virtual |
Definition at line 106 of file btConvexInternalShape.h.
References m_collisionMargin.
Referenced by setSafeMargin().
btScalar getMarginNV | ( | ) | const |
Definition at line 111 of file btConvexInternalShape.h.
References m_collisionMargin.
|
virtual |
Definition at line 116 of file btConvexInternalShape.h.
|
virtual |
Definition at line 121 of file btConvexInternalShape.h.
Definition at line 51 of file btBox2dShape.h.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
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 61 of file btConvexInternalShape.h.
References m_implicitShapeDimensions.
in case we receive negative scaling
Definition at line 120 of file btBox2dShape.h.
Definition at line 102 of file btConvexInternalShape.h.
References m_collisionMargin.
Referenced by setSafeMargin().
Definition at line 66 of file btConvexInternalShape.h.
References getMargin(), and setMargin().
Referenced by btBox2dShape(), btBoxShape(), btCylinderShape(), and setSafeMargin().
Definition at line 74 of file btConvexInternalShape.h.
References setSafeMargin().
|
virtual |
Definition at line 46 of file btConvexInternalShape.h.
btConvexInternalShape __pad0__ |
The btConvexInternalShape is an internal base class, shared by most convex shape implementations. The btConvexInternalShape uses a default collision margin set to CONVEX_DISTANCE_MARGIN. This collision margin used by Gjk and some other algorithms, see also btCollisionMargin.h Note that when creating small shapes (derived from btConvexInternalShape), you need to make sure to set a smaller collision margin, using the 'setMargin' API There is a automatic mechanism 'setSafeMargin' used by btBoxShape and btCylinderShape
Definition at line 29 of file btConvexInternalShape.h.
btScalar m_collisionMargin |
Definition at line 37 of file btConvexInternalShape.h.
Referenced by getMargin(), getMarginNV(), and setMargin().
btVector3 m_implicitShapeDimensions |
Definition at line 35 of file btConvexInternalShape.h.
Referenced by btBox2dShape(), btBoxShape(), btCapsuleShape(), btCapsuleShapeX::btCapsuleShapeX(), btCapsuleShapeZ::btCapsuleShapeZ(), btCylinderShape(), btSphereShape(), getHalfExtentsWithoutMargin(), getHalfHeight(), getImplicitShapeDimensions(), getRadius(), setConeUpIndex(), setImplicitShapeDimensions(), setLocalScaling(), setMargin(), and setUnscaledRadius().
btScalar m_padding |
Definition at line 39 of file btConvexInternalShape.h.