38 #ifndef HPP_FCL_BROADPHASE_BROADPHASECONTINUOUSCOLLISIONMANAGER_H 39 #define HPP_FCL_BROADPHASE_BROADPHASECONTINUOUSCOLLISIONMANAGER_H 43 #include "hpp/fcl/narrowphase/continuous_collision_object.h" 52 ContinuousCollisionObject* o2,
59 ContinuousCollisionObject* o2,
73 virtual void registerObjects(
74 const std::vector<ContinuousCollisionObject*>& other_objs);
77 virtual void registerObject(ContinuousCollisionObject* obj) = 0;
80 virtual void unregisterObject(ContinuousCollisionObject* obj) = 0;
83 virtual void setup() = 0;
86 virtual void update() = 0;
89 virtual void update(ContinuousCollisionObject* updated_obj);
93 const std::vector<ContinuousCollisionObject*>& updated_objs);
96 virtual void clear() = 0;
99 virtual void getObjects(
100 std::vector<ContinuousCollisionObject*>& objs)
const = 0;
104 virtual void collide(ContinuousCollisionObject* obj,
109 virtual void distance(ContinuousCollisionObject* obj,
129 virtual bool empty()
const = 0;
132 virtual size_t size()
const = 0;
Base callback class for collision queries. This class can be supersed by child classes to provide des...
bool(*)(ContinuousCollisionObject *o1, ContinuousCollisionObject *o2, S &dist) ContinuousDistanceCallBack
Callback for continuous distance between two objects, Return value is whether can stop now...
bool(*)(ContinuousCollisionObject *o1, ContinuousCollisionObject *o2, void *cdata) ContinuousCollisionCallBack
Callback for continuous collision between two objects. Return value is whether can stop now...
HPP_FCL_DLLAPI FCL_REAL distance(const Matrix3f &R0, const Vec3f &T0, const kIOS &b1, const kIOS &b2, Vec3f *P=NULL, Vec3f *Q=NULL)
Approximate distance between two kIOS bounding volumes.
HPP_FCL_DLLAPI std::size_t collide(const CollisionObject *o1, const CollisionObject *o2, const CollisionRequest &request, CollisionResult &result)
Main collision interface: given two collision objects, and the requirements for contacts, including num of max contacts, whether perform exhaustive collision (i.e., returning returning all the contact points), whether return detailed contact information (i.e., normal, contact point, depth; otherwise only contact primitive id is returned), this function performs the collision between them. Return value is the number of contacts generated between the two objects.
Base class for broad phase continuous collision. It helps to accelerate the continuous collision/dist...
Base callback class for distance queries. This class can be supersed by child classes to provide desi...