5 #ifndef __pinocchio_collision_broadphase_hpp__
6 #define __pinocchio_collision_broadphase_hpp__
8 #include <hpp/fcl/broadphase/broadphase_collision_manager.h>
10 #include "pinocchio/multibody/fcl.hpp"
12 #include "pinocchio/algorithm/geometry.hpp"
14 #include "pinocchio/collision/broadphase-manager.hpp"
15 #include "pinocchio/collision/broadphase-callbacks.hpp"
33 template<
typename BroadPhaseManagerDerived>
38 PINOCCHIO_CHECK_INPUT_ARGUMENT(broadphase_manager.
check(callback));
39 broadphase_manager.
collide(callback);
41 return callback->collision;
56 template<
typename BroadPhaseManagerDerived>
59 const bool stopAtFirstCollision =
false)
63 stopAtFirstCollision);
91 template<
typename,
int>
92 class JointCollectionTpl,
93 typename BroadPhaseManagerDerived,
94 typename ConfigVectorType>
100 const Eigen::MatrixBase<ConfigVectorType> & q)
105 broadphase_manager.
update(
false);
131 template<
typename,
int>
132 class JointCollectionTpl,
133 typename BroadPhaseManagerDerived,
134 typename ConfigVectorType>
139 const Eigen::MatrixBase<ConfigVectorType> & q,
140 const bool stopAtFirstCollision =
false)
145 broadphase_manager.
update(
false);
149 stopAtFirstCollision);
156 #include "pinocchio/collision/broadphase.hxx"
Main pinocchio namespace.
void updateGeometryPlacements(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geom_model, GeometryData &geom_data, const Eigen::MatrixBase< ConfigVectorType > &q)
Apply a forward kinematics and update the placement of the geometry objects.
bool computeCollisions(BroadPhaseManagerBase< BroadPhaseManagerDerived > &broadphase_manager, CollisionCallBackBase *callback)
Calls computeCollision for every active pairs of GeometryData. This function assumes that updateGeome...
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.
bool check() const
Check whether the base broad phase manager is aligned with the current collision_objects.
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...
Interface for Pinocchio collision callback functors.