23 #include <ignition/math/Pose3.hh>
24 #include <ignition/utils/ImplPtr.hh>
28 #include "sdf/sdf_config.h"
34 inline namespace SDF_VERSION_NAMESPACE {
44 struct PoseRelativeToGraph;
45 struct FrameAttachedToGraph;
46 template <
typename T>
class ScopedGraph;
74 public:
Errors ValidateGraphs()
const;
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);
139 public: uint64_t LinkCount()
const;
146 public:
const Link *LinkByIndex(
const uint64_t _index)
const;
153 public:
const Link *LinkByName(
const std::string &_name)
const;
160 public:
bool LinkNameExists(
const std::string &_name)
const;
167 public: uint64_t JointCount()
const;
174 public:
const Joint *JointByIndex(
const uint64_t _index)
const;
181 public:
bool JointNameExists(
const std::string &_name)
const;
190 public:
const Joint *JointByName(
const std::string &_name)
const;
197 public: uint64_t FrameCount()
const;
206 public:
const Frame *FrameByIndex(
const uint64_t _index)
const;
214 public:
const Frame *FrameByName(
const std::string &_name)
const;
221 public:
bool FrameNameExists(
const std::string &_name)
const;
228 public: uint64_t ModelCount()
const;
236 public:
const Model *ModelByIndex(
const uint64_t _index)
const;
243 public:
bool ModelNameExists(
const std::string &_name)
const;
252 public:
const Model *ModelByName(
const std::string &_name)
const;
259 public:
const ignition::math::Pose3d &RawPose()
const;
264 public:
void SetRawPose(
const ignition::math::Pose3d &_pose);
268 public:
const Link *CanonicalLink()
const;
274 public:
const std::string &CanonicalLinkName()
const;
280 public:
void SetCanonicalLinkName(
const std::string &_canonicalLink);
286 public:
const std::string &PoseRelativeTo()
const;
292 public:
void SetPoseRelativeTo(
const std::string &_frame);
307 public:
const std::string &PlacementFrameName()
const;
312 public:
void SetPlacementFrameName(
const std::string &_name);
321 public: std::pair<const Link *, std::string> CanonicalLinkAndRelativeName()
328 public: uint64_t InterfaceModelCount()
const;
336 public: std::shared_ptr<const InterfaceModel> InterfaceModelByIndex(
337 const uint64_t _index)
const;
346 public:
const NestedInclude *InterfaceModelNestedIncludeByIndex(
347 const uint64_t _index)
const;
353 public:
bool AddLink(
const Link &_link);
359 public:
bool AddJoint(
const Joint &_joint);
365 public:
bool AddModel(
const Model &_model);
368 public:
void ClearLinks();
371 public:
void ClearJoints();
374 public:
void ClearModels();
381 private:
void SetPoseRelativeToGraph(
389 private:
void SetFrameAttachedToGraph(
399 IGN_UTILS_IMPL_PTR(dataPtr)