38 #ifndef HPP_FCL_BROADPHASE_BROADPHASECOLLISIONMANAGER_H 39 #define HPP_FCL_BROADPHASE_BROADPHASECOLLISIONMANAGER_H 43 #include <boost/function.hpp> 61 virtual void registerObjects(
const std::vector<CollisionObject*>& other_objs);
70 virtual void setup() = 0;
73 virtual void update() = 0;
79 virtual void update(
const std::vector<CollisionObject*>& updated_objs);
82 virtual void clear() = 0;
85 virtual void getObjects(std::vector<CollisionObject*>& objs)
const = 0;
88 virtual std::vector<CollisionObject*>
getObjects()
const {
89 std::vector<CollisionObject*>
res(size());
121 virtual bool empty()
const = 0;
124 virtual size_t size()
const = 0;
130 mutable std::set<std::pair<CollisionObject*, CollisionObject*> >
tested_set;
Base class for broad phase collision. It helps to accelerate the collision/distance between N objects...
Base callback class for collision queries. This class can be supersed by child classes to provide des...
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.
virtual std::vector< CollisionObject * > getObjects() const
return the objects managed by the manager
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.
std::set< std::pair< CollisionObject *, CollisionObject * > > tested_set
tools help to avoid repeating collision or distance callback for the pairs of objects tested before...
the object for collision or distance computation, contains the geometry and the transform information...
Base callback class for distance queries. This class can be supersed by child classes to provide desi...