pinocchio  3.5.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
collision.hpp
1 //
2 // Copyright (c) 2015-2021 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_collision_collision_hpp__
6 #define __pinocchio_collision_collision_hpp__
7 
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
10 #include "pinocchio/multibody/geometry.hpp"
11 
12 #include "pinocchio/collision/config.hpp"
13 
14 #include <hpp/fcl/collision_data.h>
15 
16 namespace pinocchio
17 {
18 
32  const GeometryModel & geom_model,
33  GeometryData & geom_data,
34  const PairIndex pair_id,
35  fcl::CollisionRequest & collision_request);
36 
49  const GeometryModel & geom_model, GeometryData & geom_data, const PairIndex pair_id);
50 
64  const GeometryModel & geom_model,
65  GeometryData & geom_data,
66  const bool stopAtFirstCollision = false);
67 
88  template<
89  typename Scalar,
90  int Options,
91  template<typename, int> class JointCollectionTpl,
92  typename ConfigVectorType>
96  const GeometryModel & geom_model,
97  GeometryData & geom_data,
98  const Eigen::MatrixBase<ConfigVectorType> & q,
99  const bool stopAtFirstCollision = false);
100 
110  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
113  const GeometryModel & geom_model,
114  GeometryData & geom_data);
115 
116 } // namespace pinocchio
117 
118 /* --- Details -------------------------------------------------------------------- */
119 #include "pinocchio/collision/collision.hxx"
120 
121 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
122  #include "pinocchio/collision/collision.txx"
123 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
124 
125 #endif // ifndef __pinocchio_collision_collision_hpp__
Main pinocchio namespace.
Definition: treeview.dox:11
void computeBodyRadius(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const GeometryModel &geom_model, GeometryData &geom_data)
bool computeCollision(const GeometryModel &geom_model, GeometryData &geom_data, const PairIndex pair_id, fcl::CollisionRequest &collision_request)
Compute the collision status between a SINGLE collision pair. The result is store in the collisionRes...
bool computeCollisions(BroadPhaseManagerBase< BroadPhaseManagerDerived > &broadphase_manager, CollisionCallBackBase *callback)
Calls computeCollision for every active pairs of GeometryData. This function assumes that updateGeome...
Definition: broadphase.hpp:34