Struct SdfGraph

Struct Documentation

struct SdfGraph

Public Types

typedef std::map<std::string, ::sdf::ElementPtr> ElementMap_t
typedef std::map<std::string, SE3, std::less<std::string>, Eigen::aligned_allocator<std::pair<const std::string, SE3>>> ChildPoseMap
typedef std::map<std::string, std::vector<std::string>> StringVectorMap_t
typedef std::vector<std::string> VectorOfStrings
typedef std::vector<JointIndex> VectorOfIndexes
typedef ContactDetailsTpl<double, 0> ContactDetails
typedef pinocchio::urdf::details::UrdfVisitor<double, 0, ::pinocchio::JointCollectionDefaultTpl> UrdfVisitor

Public Functions

PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR (ContactDetails) contact_details
inline SdfGraph(UrdfVisitor &urdfVisitor)
inline void setParentGuidance(const VectorOfStrings &parentGuidance_in)
inline void parseGraphFromXML(const std::string &xmlString)
inline void parseGraphFromFile(const std::string &filename)
inline void parseGraph(::sdf::SDFPtr sdfElement)
inline int getConstraintIdFromChild (const PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(ContactDetails) &contact_details, const std::string &childName)
inline void recursiveFillModel(const ::sdf::ElementPtr jointElement)

Recursive procedure for reading the SDF tree. The function returns an exception as soon as a necessary Inertia or Joint information are missing.

Parameters:
  • link[in] The current SDF link.

  • model[in] The model where the link must be added.

Public Members

ElementMap_t mapOfLinks
ElementMap_t mapOfJoints
StringVectorMap_t childrenOfLinks
StringVectorMap_t parentOfLinks
VectorOfStrings linksWithMultipleParents
VectorOfStrings parentGuidance
VectorOfIndexes parentOrderWithGuidance
ChildPoseMap childPoseMap
std::string modelName
UrdfVisitor &urdfVisitor

Public Static Functions

static inline bool existConstraint (const PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(ContactDetails) &contact_details, const std::string &jointName)
static inline bool existChildName(const std::vector<std::string> &listOfNames, const std::string &childName)
static inline int getConstraintId (const PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(ContactDetails) &contact_details, const std::string &jointName)