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 & geomModel,
34 GeometryData & geomData,
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 & geomModel,
51 GeometryData & geomData);
59 template<
typename Vector3Like>
62 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector3Like,3);
63 for(GeomIndex index=0; index<geomModel.
ngeoms; index++)
78 #ifdef PINOCCHIO_WITH_HPP_FCL 93 const PairIndex & pairId);
115 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
120 const Eigen::MatrixBase<ConfigVectorType> & q,
121 const bool stopAtFirstCollision =
false);
136 const PairIndex & pairId);
153 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType>
158 const Eigen::MatrixBase<ConfigVectorType> & q);
173 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
183 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
187 #endif // PINOCCHIO_WITH_HPP_FCL 212 #include "pinocchio/algorithm/geometry.hxx" 214 #endif // ifndef __pinocchio_algo_geometry_hpp__ void computeBodyRadius(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const GeometryModel &geomModel, GeometryData &geomData)
bool computeCollision(const GeometryModel &geomModel, GeometryData &geomData, const PairIndex &pairId)
Compute the collision status between a SINGLE collision pair. The result is store in the collisionRes...
void updateGeometryPlacements(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::MatrixBase< ConfigVectorType > &q)
Apply a forward kinematics and update the placement of the geometry objects.
void appendGeometryModel(GeometryModel &geomModel1, const GeometryModel &geomModel2)
Index ngeoms
The number of GeometryObjects.
void setGeometryMeshScales(GeometryModel &geomModel, const Eigen::MatrixBase< Vector3Like > &meshScale)
Set a mesh scaling vector to each GeometryObject contained in the the GeometryModel.
Main pinocchio namespace.
fcl::DistanceResult & computeDistance(const GeometryModel &geomModel, GeometryData &geomData, const PairIndex &pairId)
Compute the minimal distance between collision objects of a SINGLE collison pair. ...
bool computeCollisions(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::MatrixBase< ConfigVectorType > &q, const bool stopAtFirstCollision=false)
GeometryObjectVector geometryObjects
Vector of GeometryObjects used for collision computations.
std::size_t computeDistances(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::MatrixBase< ConfigVectorType > &q)