23 #include <ignition/math/Pose3.hh>
27 #include "sdf/sdf_config.h"
33 inline namespace SDF_VERSION_NAMESPACE {
41 struct PoseRelativeToGraph;
80 public: std::string Name()
const;
85 public:
void SetName(
const std::string &_name);
91 public:
bool Static()
const;
97 public:
void SetStatic(
bool _static);
104 public:
bool SelfCollide()
const;
110 public:
void SetSelfCollide(
bool _selfCollide);
116 public:
bool AllowAutoDisable()
const;
122 public:
void SetAllowAutoDisable(
bool _allowAutoDisable);
128 public:
bool EnableWind()
const;
133 public:
void SetEnableWind(
bool _enableWind);
137 public: uint64_t LinkCount()
const;
144 public:
const Link *LinkByIndex(
const uint64_t _index)
const;
149 public:
const Link *LinkByName(
const std::string &_name)
const;
154 public:
bool LinkNameExists(
const std::string &_name)
const;
158 public: uint64_t JointCount()
const;
165 public:
const Joint *JointByIndex(
const uint64_t _index)
const;
170 public:
bool JointNameExists(
const std::string &_name)
const;
177 public:
const Joint *JointByName(
const std::string &_name)
const;
181 public: uint64_t FrameCount()
const;
189 public:
const Frame *FrameByIndex(
const uint64_t _index)
const;
195 public:
const Frame *FrameByName(
const std::string &_name)
const;
200 public:
bool FrameNameExists(
const std::string &_name)
const;
204 public: uint64_t ModelCount()
const;
211 public:
const Model *ModelByIndex(
const uint64_t _index)
const;
216 public:
bool ModelNameExists(
const std::string &_name)
const;
223 public:
const Model *ModelByName(
const std::string &_name)
const;
230 public:
const ignition::math::Pose3d &RawPose()
const;
235 public:
void SetRawPose(
const ignition::math::Pose3d &_pose);
239 public:
const Link *CanonicalLink()
const;
245 public:
const std::string &CanonicalLinkName()
const;
251 public:
void SetCanonicalLinkName(
const std::string &_canonicalLink);
257 public:
const std::string &PoseRelativeTo()
const;
263 public:
void SetPoseRelativeTo(
const std::string &_frame);
282 std::weak_ptr<const PoseRelativeToGraph> _graph);
288 private: std::pair<const Link *, std::string> CanonicalLinkAndRelativeName()
296 friend std::pair<const Link *, std::string>
297 modelCanonicalLinkAndRelativeName(
const Model *);
300 private: ModelPrivate *dataPtr =
nullptr;