22 #include <ignition/math/Pose3.hh>
26 #include "sdf/sdf_config.h"
32 inline namespace SDF_VERSION_NAMESPACE {
42 struct PoseRelativeToGraph;
60 public:
Link &operator=(
Link &&_link);
65 public:
Link &operator=(
const Link &_link);
81 public: std::string Name()
const;
86 public:
void SetName(
const std::string &_name)
const;
90 public: uint64_t VisualCount()
const;
97 public:
const Visual *VisualByIndex(
const uint64_t _index)
const;
102 public:
bool VisualNameExists(
const std::string &_name)
const;
107 public:
const Visual *VisualByName(
const std::string &_name)
const;
111 public: uint64_t CollisionCount()
const;
118 public:
const Collision *CollisionByIndex(
const uint64_t _index)
const;
123 public:
bool CollisionNameExists(
const std::string &_name)
const;
128 public:
const Collision *CollisionByName(
const std::string &_name)
const;
132 public: uint64_t LightCount()
const;
139 public:
const Light *LightByIndex(
const uint64_t _index)
const;
144 public:
bool LightNameExists(
const std::string &_name)
const;
149 public:
const Light *LightByName(
const std::string &_name)
const;
153 public: uint64_t SensorCount()
const;
160 public:
const Sensor *SensorByIndex(
const uint64_t _index)
const;
165 public:
bool SensorNameExists(
const std::string &_name)
const;
172 public:
const Sensor *SensorByName(
const std::string &_name)
const;
187 public:
const ignition::math::Inertiald &Inertial()
const;
193 public:
bool SetInertial(
const ignition::math::Inertiald &_inertial);
202 public:
Errors ResolveInertial(ignition::math::Inertiald &_inertial,
203 const std::string &_resolveTo =
"")
const;
209 public:
const ignition::math::Pose3d &Pose()
const
216 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);
233 public:
const std::string &PoseRelativeTo()
const;
239 public:
void SetPoseRelativeTo(
const std::string &_frame);
246 public:
const std::string &PoseFrame()
const
254 public:
void SetPoseFrame(
const std::string &_frame)
272 private:
void SetPoseRelativeToGraph(
273 std::weak_ptr<const PoseRelativeToGraph> _graph);
282 public:
bool EnableWind()
const;
288 public:
void SetEnableWind(
bool _enableWind);
291 private: LinkPrivate *dataPtr =
nullptr;