16 #ifndef BT_COMPOUND_SHAPE_H
17 #define BT_COMPOUND_SHAPE_H
77 void addChildShape(
const btTransform& localTransform,btCollisionShape* shape);
80 virtual void removeChildShape(btCollisionShape* shape);
82 void removeChildShapeByIndex(
int childShapeindex);
85 int getNumChildShapes()
const
87 return int (m_children.
size());
90 btCollisionShape* getChildShape(
int index)
92 return m_children[index].m_childShape;
94 const btCollisionShape* getChildShape(
int index)
const
96 return m_children[index].m_childShape;
101 return m_children[index].m_transform;
105 return m_children[index].m_transform;
109 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;
141 virtual const char* getName()
const
148 return m_dynamicAabbTree;
153 return m_dynamicAabbTree;
156 void createAabbTreeFromChildren();
165 int getUpdateRevision()
const
167 return m_updateRevision;
170 virtual int calculateSerializeBufferSize()
const;
173 virtual const char* serialize(
void* dataBuffer,
btSerializer* serializer)
const;
212 #endif //BT_COMPOUND_SHAPE_H