5#ifndef __pinocchio_parsers_sdf_hpp__
6#define __pinocchio_parsers_sdf_hpp__
8#include "pinocchio/parsers/urdf.hpp"
9#include "pinocchio/multibody/model.hpp"
10#include "pinocchio/multibody/geometry.hpp"
11#include "pinocchio/algorithm/contact-info.hpp"
43 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
44 GeometryModel & buildGeom(
45 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
46 const std::string & filename,
47 const GeometryType type,
48 GeometryModel & geomModel,
49 const std::string & rootLinkName =
"",
50 const std::vector<std::string> & packageDirs = std::vector<std::string>(),
51 ::hpp::fcl::MeshLoaderPtr meshLoader = ::hpp::fcl::MeshLoaderPtr());
76 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
77 GeometryModel & buildGeom(
78 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
79 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
80 const std::string & filename,
81 const GeometryType type,
82 GeometryModel & geomModel,
83 const std::string & packagePath,
84 ::hpp::fcl::MeshLoaderPtr meshLoader = ::hpp::fcl::MeshLoaderPtr())
86 const std::vector<std::string> dirs(1, packagePath);
87 return buildGeom(model, contact_models, filename, type, geomModel, dirs, meshLoader);
114 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
115 GeometryModel & buildGeom(
116 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
117 const std::string & filename,
118 const GeometryType type,
119 GeometryModel & geomModel,
120 const std::string & rootLinkName,
121 const std::string & packagePath,
122 ::hpp::fcl::MeshLoaderPtr meshLoader = ::hpp::fcl::MeshLoaderPtr())
124 const std::vector<std::string> dirs(1, packagePath);
125 return buildGeom(model, filename, type, geomModel, rootLinkName, dirs, meshLoader);
142 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
143 ModelTpl<Scalar, Options, JointCollectionTpl> & buildModelFromXML(
144 const std::string & xmlStream,
145 const typename ModelTpl<Scalar, Options, JointCollectionTpl>::JointModel & rootJoint,
146 const std::string & rootJointName,
147 ModelTpl<Scalar, Options, JointCollectionTpl> & model,
148 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
149 const std::string & rootLinkName =
"",
150 const std::vector<std::string> & parentGuidance = {},
151 const bool verbose =
false);
166 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
167 ModelTpl<Scalar, Options, JointCollectionTpl> & buildModelFromXML(
168 const std::string & xmlStream,
169 const typename ModelTpl<Scalar, Options, JointCollectionTpl>::JointModel & rootJoint,
170 ModelTpl<Scalar, Options, JointCollectionTpl> & model,
171 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
172 const std::string & rootLinkName =
"",
173 const std::vector<std::string> & parentGuidance = {},
174 const bool verbose =
false);
190 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
191 ModelTpl<Scalar, Options, JointCollectionTpl> & buildModel(
192 const std::string & filename,
193 const typename ModelTpl<Scalar, Options, JointCollectionTpl>::JointModel & rootJoint,
194 const std::string & rootJointName,
195 ModelTpl<Scalar, Options, JointCollectionTpl> & model,
196 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
197 const std::string & rootLinkName =
"",
198 const std::vector<std::string> & parentGuidance = {},
199 const bool verbose =
false);
214 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
215 ModelTpl<Scalar, Options, JointCollectionTpl> & buildModel(
216 const std::string & filename,
217 const typename ModelTpl<Scalar, Options, JointCollectionTpl>::JointModel & rootJoint,
218 ModelTpl<Scalar, Options, JointCollectionTpl> & model,
219 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
220 const std::string & rootLinkName =
"",
221 const std::vector<std::string> & parentGuidance = {},
222 const bool verbose =
false);
232 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
233 ModelTpl<Scalar, Options, JointCollectionTpl> & buildModelFromXML(
234 const std::string & xmlStream,
235 ModelTpl<Scalar, Options, JointCollectionTpl> & model,
236 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
237 const std::string & rootLinkName =
"",
238 const std::vector<std::string> & parentGuidance = {},
239 const bool verbose =
false);
249 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
250 ModelTpl<Scalar, Options, JointCollectionTpl> & buildModel(
251 const std::string & filename,
252 ModelTpl<Scalar, Options, JointCollectionTpl> & model,
253 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel) & contact_models,
254 const std::string & rootLinkName =
"",
255 const std::vector<std::string> & parentGuidance = {},
256 const bool verbose =
false);
261#include "pinocchio/parsers/sdf/model.hxx"
262#include "pinocchio/parsers/sdf/geometry.hxx"
Main pinocchio namespace.