pinocchio 4.1.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
geometry.hpp
1//
2// Copyright (c) 2015-2022 CNRS INRIA
3//
4
5#pragma once
6
7// IWYU pragma: begin_keep
8#include <Eigen/Core>
9
10#include <cassert>
11#include <sstream>
12#include <vector>
13
14#include <boost/fusion/container/vector.hpp>
15#include <boost/foreach.hpp>
16//
17#include "pinocchio/macros.hpp"
18#include "pinocchio/spatial.hpp"
19
20#include "pinocchio/multibody.hpp"
21#include "pinocchio/geometry.hpp"
22
23#include "pinocchio/algorithm/check.hpp"
24#include "pinocchio/algorithm/kinematics.hpp"
25// IWYU pragma: end_keep
26
27namespace pinocchio
28{
29
42 template<
43 typename Scalar,
44 int Options,
45 template<typename, int> class JointCollectionTpl,
46 typename ConfigVectorType>
48 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
49 DataTpl<Scalar, Options, JointCollectionTpl> & data,
50 const GeometryModel & geom_model,
51 GeometryData & geom_data,
52 const Eigen::MatrixBase<ConfigVectorType> & q);
53
66 template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
68 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
69 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
70 const GeometryModel & geom_model,
71 GeometryData & geom_data);
72
90 inline void appendGeometryModel(GeometryModel & geom_model1, const GeometryModel & geom_model2);
91
92} // namespace pinocchio
93
94/* --- Details -------------------------------------------------------------------- */
95// IWYU pragma: begin_exports
96#include "pinocchio/src/algorithm/geometry.hxx"
97// IWYU pragma: end_exports
98
99// In Pinocchio 2, this header declare computeCollision and computeDistances
100#if defined(PINOCCHIO_WITH_COLLISION) && defined(PINOCCHIO_ENABLE_COMPATIBILITY_WITH_VERSION_2)
101 #include "pinocchio/collision/collision.hpp"
102 #include "pinocchio/collision/distance.hpp"
103#endif // PINOCCHIO_ENABLE_COMPATIBILITY_WITH_VERSION_2
Main pinocchio namespace.
Definition treeview.dox:11
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.
void appendGeometryModel(GeometryModel &geom_model1, const GeometryModel &geom_model2)