| Bullet Collision Detection & Physics Library
    | 
 
 
 
Go to the documentation of this file.
   16 #ifndef BT_COMPOUND_SHAPE_H 
   17 #define BT_COMPOUND_SHAPE_H 
   75         explicit btCompoundShape(
bool enableDynamicAabbTree = 
true, 
const int initialChildCapacity = 0);
 
   84         void removeChildShapeByIndex(
int childShapeindex);
 
   88                 return int(m_children.
size());
 
   93                 return m_children[index].m_childShape;
 
   97                 return m_children[index].m_childShape;
 
  102                 return m_children[index].m_transform;
 
  106                 return m_children[index].m_transform;
 
  110         void updateChildTransform(
int childIndex, 
const btTransform& newChildTransform, 
bool shouldRecalculateLocalAabb = 
true);
 
  114                 return &m_children[0];
 
  122         virtual void recalculateLocalAabb();
 
  124         virtual void setLocalScaling(
const btVector3& scaling);
 
  128                 return m_localScaling;
 
  135                 m_collisionMargin = margin;
 
  139                 return m_collisionMargin;
 
  148                 return m_dynamicAabbTree;
 
  153                 return m_dynamicAabbTree;
 
  156         void createAabbTreeFromChildren();
 
  167                 return m_updateRevision;
 
  170         virtual int calculateSerializeBufferSize() 
const;
 
  173         virtual const char* serialize(
void* dataBuffer, 
btSerializer* serializer) 
const;
 
  207 #endif  //BT_COMPOUND_SHAPE_H 
  
virtual const char * getName() const
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btCollisionShapeData * m_childShape
int getUpdateRevision() const
btTransform & getChildTransform(int index)
virtual int calculateSerializeBufferSize() const
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
struct btDbvtNode * m_node
virtual btScalar getMargin() const
btTransformFloatData m_transform
int m_updateRevision
increment m_updateRevision when adding/removing/replacing child shapes, so that some caches can be up...
virtual void setMargin(btScalar margin)
const btTransform & getChildTransform(int index) const
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
The btDbvt class implements a fast dynamic bounding volume tree based on axis aligned bounding boxes ...
const btCollisionShape * getChildShape(int index) const
btCompoundShapeChildData * m_childShapePtr
virtual const btVector3 & getLocalScaling() const
#define BT_DECLARE_ALIGNED_ALLOCATOR()
btAlignedObjectArray< btCompoundShapeChild > m_children
btVector3 can be used to represent 3D points and vectors.
btCompoundShapeChild * getChildList()
btDbvt * m_dynamicAabbTree
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE
btCollisionShape * m_childShape
btDbvt * getDynamicAabbTree()
The btCompoundShape allows to store multiple other btCollisionShapes This allows for moving concave c...
int getNumChildShapes() const
bool operator==(const btCompoundShapeChild &c1, const btCompoundShapeChild &c2)
btScalar m_collisionMargin
btCollisionShapeData m_collisionShapeData
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btCollisionShape * getChildShape(int index)
const btDbvt * getDynamicAabbTree() const
int size() const
return the number of elements in the array
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64