5 #ifndef __pinocchio_algo_geometry_hpp__
6 #define __pinocchio_algo_geometry_hpp__
8 #include "pinocchio/multibody/visitor.hpp"
9 #include "pinocchio/multibody/model.hpp"
10 #include "pinocchio/multibody/data.hpp"
12 #include "pinocchio/algorithm/kinematics.hpp"
13 #include "pinocchio/multibody/geometry.hpp"
30 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
32 DataTpl<Scalar,Options,JointCollectionTpl> & data,
33 const GeometryModel & geom_model,
34 GeometryData & geom_data,
35 const Eigen::MatrixBase<ConfigVectorType> & q);
47 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
49 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
50 const GeometryModel & geom_model,
51 GeometryData & geom_data);
61 template<
typename Vector3Like>
65 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector3Like,3);
66 for(GeomIndex index=0; index<geom_model.
ngeoms; index++)
81 for(GeomIndex index=0; index<geom_model.
ngeoms; index++)
85 #ifdef PINOCCHIO_WITH_HPP_FCL
99 GeometryData & geom_data,
100 const PairIndex pair_id);
114 GeometryData & geom_data,
115 const bool stopAtFirstCollision =
false);
135 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
136 inline bool computeCollisions(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
137 DataTpl<Scalar,Options,JointCollectionTpl> & data,
138 const GeometryModel & geom_model,
139 GeometryData & geom_data,
140 const Eigen::MatrixBase<ConfigVectorType> & q,
141 const bool stopAtFirstCollision =
false);
154 fcl::DistanceResult &
computeDistance(
const GeometryModel & geom_model,
155 GeometryData & geom_data,
156 const PairIndex pair_id);
173 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
174 inline std::size_t
computeDistances(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
175 DataTpl<Scalar,Options,JointCollectionTpl> & data,
176 const GeometryModel & geom_model,
177 GeometryData & geom_data,
178 const Eigen::MatrixBase<ConfigVectorType> & q);
193 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
194 inline std::size_t
computeDistances(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
195 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
196 const GeometryModel & geom_model,
197 GeometryData & geom_data);
208 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
209 inline void computeBodyRadius(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
210 const GeometryModel & geom_model,
211 GeometryData & geom_data);
212 #endif // PINOCCHIO_WITH_HPP_FCL
232 const GeometryModel & geom_model2);
237 #include "pinocchio/algorithm/geometry.hxx"
239 #endif // ifndef __pinocchio_algo_geometry_hpp__