23 #include <gz/math/Pose3.hh>
27 #include "sdf/sdf_config.h"
33 inline namespace SDF_VERSION_NAMESPACE {
41 struct PoseRelativeToGraph;
81 public:
Errors ValidateGraphs()
const;
86 public: std::string Name()
const;
91 public:
void SetName(
const std::string &_name);
97 public:
bool Static()
const;
103 public:
void SetStatic(
bool _static);
110 public:
bool SelfCollide()
const;
116 public:
void SetSelfCollide(
bool _selfCollide);
122 public:
bool AllowAutoDisable()
const;
128 public:
void SetAllowAutoDisable(
bool _allowAutoDisable);
134 public:
bool EnableWind()
const;
139 public:
void SetEnableWind(
bool _enableWind);
143 public: uint64_t LinkCount()
const;
150 public:
const Link *LinkByIndex(
const uint64_t _index)
const;
155 public:
const Link *LinkByName(
const std::string &_name)
const;
160 public:
bool LinkNameExists(
const std::string &_name)
const;
164 public: uint64_t JointCount()
const;
171 public:
const Joint *JointByIndex(
const uint64_t _index)
const;
176 public:
bool JointNameExists(
const std::string &_name)
const;
183 public:
const Joint *JointByName(
const std::string &_name)
const;
187 public: uint64_t FrameCount()
const;
195 public:
const Frame *FrameByIndex(
const uint64_t _index)
const;
201 public:
const Frame *FrameByName(
const std::string &_name)
const;
206 public:
bool FrameNameExists(
const std::string &_name)
const;
210 public: uint64_t ModelCount()
const;
217 public:
const Model *ModelByIndex(
const uint64_t _index)
const;
222 public:
bool ModelNameExists(
const std::string &_name)
const;
229 public:
const Model *ModelByName(
const std::string &_name)
const;
237 public:
const gz::math::Pose3d &Pose()
const
244 public:
void SetPose(
const gz::math::Pose3d &_pose)
252 public:
const gz::math::Pose3d &RawPose()
const;
257 public:
void SetRawPose(
const gz::math::Pose3d &_pose);
261 public:
const Link *CanonicalLink()
const;
267 public:
const std::string &CanonicalLinkName()
const;
273 public:
void SetCanonicalLinkName(
const std::string &_canonicalLink);
279 public:
const std::string &PoseRelativeTo()
const;
285 public:
void SetPoseRelativeTo(
const std::string &_frame);
292 public:
const std::string &PoseFrame()
const
300 public:
void SetPoseFrame(
const std::string &_frame)
320 std::weak_ptr<const PoseRelativeToGraph> _graph);
326 private: std::pair<const Link *, std::string> CanonicalLinkAndRelativeName()
334 friend std::pair<const Link *, std::string>
335 modelCanonicalLinkAndRelativeName(
const Model *);
338 private: ModelPrivate *dataPtr =
nullptr;