26 #include <boost/ptr_container/ptr_vector.hpp>
31 class Dt3dBoundingVolume;
36 template <
typename T_Collision>
86 virtual void setObjectToIgnore(
DtVrfObject* vrfObject);
90 virtual void addObjectObstructionID(
const DtObjectType& objectObstructionID);
91 virtual void removeObjectObstructionID(
const DtObjectType& objectObstructionID);
111 virtual bool detectPotentialCollision(Dt3dBoundingVolume& collisionBv,
112 const DtVector& localPosition,
const DtDcm& bvOrientation,
117 virtual bool detectAllEntityCollisions(Dt3dBoundingVolume& collisionBv,
118 const DtVector& localPosition,
const DtDcm& bvOrientation,
119 std::list<DtBoost::shared_ptr<DtEntityCollision> >& collisionList);
140 virtual bool getObjectObstructions(Dt3dBoundingVolume& boundingVolume,
141 const DtVector& bvLocation,
const DtDcm& bvOrientation,
154 virtual bool vrfObjectObstructionPredicate(
const DtVrfObject& vrfObjectToTest)
const;
165 virtual bool checkForCollision(Dt3dBoundingVolume& collisionBV,
167 const DtDcm& bvOrientation)
const;
178 bool detectNewClosestCollision(Dt3dBoundingVolume& collisionBV,
DtCollision*& potentialCollision,
179 const DtVector& localPosition,
const DtDcm& bvOrientation)
const;
190 bool detectObjectCollision(Dt3dBoundingVolume& collisionBV,
192 const DtDcm& bvOrientation)
const;
193 bool detectFeatureCollision(Dt3dBoundingVolume& collisionBV,
200 bool testInvariant()
const;
227 double distanceSquared,
228 double& actualDistanceSquared);
234 template <
typename T_Collision>
253 template <
typename T_Collision>
268 #define callbackList_inl_
269 #include "vrfmodel/collisionDetector.inl"
270 #undef callbackList_inl_