5 #ifndef __pinocchio_collision_broadphase_manager_base_hpp__
6 #define __pinocchio_collision_broadphase_manager_base_hpp__
8 #include "pinocchio/multibody/geometry.hpp"
9 #include "pinocchio/collision/broadphase-callbacks.hpp"
14 template<
typename Derived>
55 return static_cast<Derived &
>(*this);
57 const Derived & derived()
const
59 return static_cast<const Derived &
>(*this);
66 return derived().check();
72 return derived().check(callback);
82 void update(
bool compute_local_aabb =
false)
84 derived().update(compute_local_aabb);
94 derived().update(geom_data_ptr_new);
101 return derived().collide(obj, callback);
107 return derived().collide(callback);
113 return derived().collide(other_manager.derived(), callback);
Main pinocchio namespace.
void update(GeometryData *geom_data_ptr_new)
Update the manager with a new geometry data.
bool collide(CollisionObject &obj, CollisionCallBackBase *callback) const
Performs collision test between one object and all the objects belonging to the manager.
const GeometryModel & getGeometryModel() const
Returns the geometry model associated to the manager.
const Model & getModel() const
Returns the model associated to the manager.
BroadPhaseManagerBase(const Model *model_ptr, const GeometryModel *geometry_model_ptr, GeometryData *geometry_data_ptr)
Constructor from a given geometry model and geometry data.
BroadPhaseManagerBase(const BroadPhaseManagerBase &other)
Copy constructor.
const GeometryModel * geometry_model_ptr
Pointer to the geometry model.
const Model * model_ptr
Pointer to the model.
GeometryData * geometry_data_ptr
Pointer to the geometry data.
bool check() const
Check whether the base broad phase manager is aligned with the current collision_objects.
bool check(CollisionCallBackBase *callback) const
Check whether the callback is inline with *this.
bool collide(BroadPhaseManagerBase &other_manager, CollisionCallBackBase *callback) const
Performs collision test with objects belonging to another manager.
BroadPhaseManagerBase()
Default constructor.
const GeometryData & getGeometryData() const
Returns the geometry data associated to the manager.
void update(bool compute_local_aabb=false)
Update the manager from the current geometry positions and update the underlying FCL broad phase mana...
GeometryData & getGeometryData()
Returns the geometry data associated to the manager.
bool collide(CollisionCallBackBase *callback) const
Performs collision test for the objects belonging to the manager.
Interface for Pinocchio collision callback functors.