13 #include <BulletCollision/CollisionDispatch/btCollisionObject.h>
14 #include <BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h>
15 #include <BulletCollision/CollisionShapes/btTriangleMesh.h>
17 #include <boost/shared_ptr.hpp>
18 #include <boost/enable_shared_from_this.hpp>
20 #include <tbb/spin_mutex.h>
32 bool valid(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2)
const;
33 bool valid(
const btVector3& vertex)
const;
34 bool valid(
const btScalar& val)
const;
36 bool checkAddTriangle(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
37 bool removeDuplicateVertices =
false);
39 void addTriangle(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
40 bool removeDuplicateVertices =
false);
42 void addTriangleWithSurface(
const btVector3& vertex0,
const btVector3& vertex1,
const btVector3& vertex2,
43 const DtSurface& surface,
bool removeDuplicateVertices =
false);
45 DtSurface triangleSurface(
unsigned int triangleIndex)
const;
47 const btVector3& max()
const;
48 const btVector3& min()
const;
50 bool isAabbValid()
const;
52 double maxDistance()
const;
55 void updateBounds(
const btVector3& val);
59 void initializeSurfaceArray();
63 void syncSurfaceArray();
78 ,
public boost::enable_shared_from_this<DtBvhTriangleMeshShape>
81 typedef boost::shared_ptr<DtBvhTriangleMeshShape>
Ptr;
85 bool useQuantization =
true,
bool buildBvhNow =
false,
86 bool filterTransparentPolygons =
false);
108 void setCollisionShape(btCollisionShape* shape);