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;
bool enable_tested_set_
Definition: broadphase_collision_manager.h:131
Base class for broad phase collision. It helps to accelerate the collision/distance between N objects...
Definition: broadphase_collision_manager.h:54
Main namespace.
Definition: broadphase_bruteforce.h:44
Base callback class for collision queries. This class can be supersed by child classes to provide des...
Definition: broadphase_callbacks.h:50
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
Definition: broadphase_collision_manager.h:88
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...
Definition: broadphase_collision_manager.h:130
the object for collision or distance computation, contains the geometry and the transform information...
Definition: collision_object.h:215
Base callback class for distance queries. This class can be supersed by child classes to provide desi...
Definition: broadphase_callbacks.h:73
#define HPP_FCL_DLLAPI
Definition: config.hh:88