22 #include <ignition/math/Pose3.hh>
26 #include "sdf/sdf_config.h"
32 inline namespace SDF_VERSION_NAMESPACE {
40 struct PoseRelativeToGraph;
79 public: std::string Name()
const;
84 public:
void SetName(
const std::string &_name);
90 public:
bool Static()
const;
96 public:
void SetStatic(
bool _static);
103 public:
bool SelfCollide()
const;
109 public:
void SetSelfCollide(
bool _selfCollide);
115 public:
bool AllowAutoDisable()
const;
121 public:
void SetAllowAutoDisable(
bool _allowAutoDisable);
127 public:
bool EnableWind()
const;
132 public:
void SetEnableWind(
bool _enableWind);
136 public: uint64_t LinkCount()
const;
143 public:
const Link *LinkByIndex(
const uint64_t _index)
const;
148 public:
const Link *LinkByName(
const std::string &_name)
const;
153 public:
bool LinkNameExists(
const std::string &_name)
const;
157 public: uint64_t JointCount()
const;
164 public:
const Joint *JointByIndex(
const uint64_t _index)
const;
169 public:
bool JointNameExists(
const std::string &_name)
const;
176 public:
const Joint *JointByName(
const std::string &_name)
const;
180 public: uint64_t FrameCount()
const;
188 public:
const Frame *FrameByIndex(
const uint64_t _index)
const;
194 public:
const Frame *FrameByName(
const std::string &_name)
const;
199 public:
bool FrameNameExists(
const std::string &_name)
const;
207 public:
const ignition::math::Pose3d &Pose()
const
214 public:
void SetPose(
const ignition::math::Pose3d &_pose)
222 public:
const ignition::math::Pose3d &RawPose()
const;
227 public:
void SetRawPose(
const ignition::math::Pose3d &_pose);
231 public:
const Link *CanonicalLink()
const;
236 public:
const std::string &CanonicalLinkName()
const;
241 public:
void SetCanonicalLinkName(
const std::string &_canonicalLink);
247 public:
const std::string &PoseRelativeTo()
const;
253 public:
void SetPoseRelativeTo(
const std::string &_frame);
260 public:
const std::string &PoseFrame()
const
268 public:
void SetPoseFrame(
const std::string &_frame)
286 private:
void SetPoseRelativeToGraph(
287 std::weak_ptr<const PoseRelativeToGraph> _graph);
293 private: ModelPrivate *dataPtr =
nullptr;