5 #ifndef __pinocchio_collision_broadphase_manager_hpp__
6 #define __pinocchio_collision_broadphase_manager_hpp__
8 #include <hpp/fcl/broadphase/broadphase_collision_manager.h>
10 #include "pinocchio/collision/broadphase-manager-base.hpp"
11 #include "pinocchio/multibody/geometry-object-filter.hpp"
16 template<
typename _Manager>
19 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
22 typedef std::vector<CollisionObject> CollisionObjectVector;
23 typedef Eigen::VectorXd VectorXs;
24 typedef _Manager Manager;
26 typedef ::pinocchio::Model
Model;
108 void update(
bool compute_local_aabb =
false);
211 #include "pinocchio/collision/broadphase-manager.hxx"
Main pinocchio namespace.
const GeometryModel & getGeometryModel() const
Returns the geometry model associated to the manager.
const Model & getModel() const
Returns the model associated to the manager.
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.
const GeometryData & getGeometryData() const
Returns the geometry data associated to the manager.
void init()
Initialialisation of BroadPhaseManagerTpl.
void update(GeometryData *geom_data_ptr_new)
Update the manager with a new geometry data.
std::vector< bool > collision_object_is_active
Disable status related to each collision objects.
BroadPhaseManagerTpl(const BroadPhaseManagerTpl &other)
Copy contructor.
Manager & getManager()
Returns internal manager.
const Manager & getManager() const
Returns internal manager.
std::vector< size_t > geometry_to_collision_index
Mapping between a given geometry index and a collision index.
bool collide(CollisionObject &obj, CollisionCallBackBase *callback) const
Performs collision test between one object and all the objects belonging to the manager.
CollisionObjectVector collision_objects
the vector of collision objects.
CollisionObjectVector & getCollisionObjects()
Returns the vector of collision objects associated to the manager.
VectorXs collision_object_inflation
the inflation value related to each collision object.
BroadPhaseManagerTpl()
Default constructor.
BroadPhaseManagerTpl(const Model *model_ptr, const GeometryModel *geometry_model_ptr, GeometryData *geometry_data_ptr, const GeometryObjectFilterBase &filter=GeometryObjectFilterNothing())
Constructor from a given geometry model and data.
const CollisionObjectVector & getCollisionObjects() const
Returns the vector of collision objects associated to the manager.
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.
std::vector< size_t > selected_collision_pairs
Selected collision pairs in the original geometry_model.
Manager manager
internal manager
const std::vector< bool > & getCollisionObjectStatus() const
Returns the status of the collision object.
const VectorXs & getCollisionObjectInflation()
Returns the inflation value related to each collision object.
bool collide(BroadPhaseManagerTpl &other_manager, CollisionCallBackBase *callback) const
Performs collision test with objects belonging to another manager.
std::vector< size_t > selected_geometry_objects
Selected geometry objects in the original geometry_model.
void update(bool compute_local_aabb=false)
Update the manager from the current geometry positions and update the underlying FCL broad phase mana...
bool collide(CollisionCallBackBase *callback) const
Performs collision test for the objects belonging to the manager.
Interface for Pinocchio collision callback functors.
GeometryObjectVector geometryObjects
Vector of GeometryObjects used for collision computations.
CollisionPairVector collisionPairs
Vector of collision pairs.