23 #include <ignition/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 ignition::math::Pose3d &Pose() 
const 
  244     public: 
void SetPose(
const ignition::math::Pose3d &_pose)
 
  252     public: 
const ignition::math::Pose3d &RawPose() 
const;
 
  257     public: 
void SetRawPose(
const ignition::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;