19 #include <vlutil/vlSmartPointers.h>
20 #include <geometry/intersectionRecord.h>
21 #include <tbb/spin_rw_mutex.h>
22 #include <boost/unordered_set.hpp>
28 class DtChordIntersectionRecord;
29 class DtChordIntersectRecordList;
31 class DtSphereIntersectionRecord;
49 virtual void initialize();
51 virtual unsigned collisionObjectCount();
53 virtual void addCollisionObjectToWorld(btCollisionObject*);
57 virtual unsigned int removeCollisionObjectFromWorld(btCollisionObject* collisionObject);
61 virtual bool chordIntersect(
const DtChord& chord,
62 DtChordIntersectionRecord& record,
63 DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA)
const;
65 virtual bool allIntersectsAlongChord(
const DtChord& chord,
66 DtChordIntersectRecordList& intList,
67 DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA)
const;
69 virtual bool sphereIntersect(
const DtSphere& sphere, DtSphereIntersectionRecord& record,
70 DtIntersectionRecord::DtIntersectionType irtFlag = DtIntersectionRecord::INT_ALL_DATA)
const;
72 virtual void setCoordinateSystem(
const Coordinate_System* cs);
73 virtual const Coordinate_System* coordinateSystem();
75 virtual void drawDebugInfo();
76 virtual void setDebugDraw(
bool enabled);
77 virtual void setAabbDraw(
bool enabled);
82 virtual btCollisionWorld* bulletCollisionWorld();