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>
class JointCollectionTpl,
92 typename BroadPhaseManagerDerived,
93 typename ConfigVectorType>
99 const Eigen::MatrixBase<ConfigVectorType> & q)
104 broadphase_manager.
update(
false);
130 template<
typename,
int>
class JointCollectionTpl,
131 typename BroadPhaseManagerDerived,
132 typename ConfigVectorType>
137 const Eigen::MatrixBase<ConfigVectorType> & q,
138 const bool stopAtFirstCollision =
false)
143 broadphase_manager.
update(
false);
147 stopAtFirstCollision);
154 #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.