23 #include <gz/math/SphericalCoordinates.hh> 
   24 #include <gz/math/Vector3.hh> 
   25 #include <gz/utils/ImplPtr.hh> 
   41   inline namespace SDF_VERSION_NAMESPACE {
 
   54   struct PoseRelativeToGraph;
 
   55   struct FrameAttachedToGraph;
 
   56   template <
typename T> 
class ScopedGraph;
 
   84     public: 
Errors ValidateGraphs() 
const;
 
   88     public: std::string Name() 
const;
 
   92     public: 
void SetName(
const std::string &_name);
 
   98     public: std::string AudioDevice() 
const;
 
  104     public: 
void SetAudioDevice(
const std::string &_device);
 
  110     public: gz::math::Vector3d WindLinearVelocity() 
const;
 
  116     public: 
void SetWindLinearVelocity(
const gz::math::Vector3d &_wind);
 
  123     public: gz::math::Vector3d Gravity() 
const;
 
  128     public: 
void SetGravity(
const gz::math::Vector3d &_gravity);
 
  136     public: gz::math::Vector3d MagneticField() 
const;
 
  144     public: 
void SetMagneticField(
const gz::math::Vector3d &_mag);
 
  148     public: 
const gz::math::SphericalCoordinates *
 
  149         SphericalCoordinates() 
const;
 
  153     public: 
void SetSphericalCoordinates(
 
  154         const gz::math::SphericalCoordinates &_coord);
 
  161     public: uint64_t ModelCount() 
const;
 
  169     public: 
const Model *ModelByIndex(
const uint64_t _index) 
const;
 
  177     public: 
Model *ModelByIndex(uint64_t _index);
 
  186     public: 
const Model *ModelByName(
const std::string &_name) 
const;
 
  195     public: 
Model *ModelByName(
const std::string &_name);
 
  202     public: 
bool ModelNameExists(
const std::string &_name) 
const;
 
  208     public: 
bool AddModel(
const Model &_model);
 
  214     public: 
bool AddActor(
const Actor &_actor);
 
  220     public: 
bool AddJoint(
const Joint &_joint);
 
  226     public: 
bool AddLight(
const Light &_light);
 
  232     public: 
bool AddPhysics(
const Physics &_physics);
 
  238     public: 
bool AddFrame(
const Frame &_frame);
 
  241     public: 
void ClearModels();
 
  244     public: 
void ClearActors();
 
  247     public: 
void ClearJoints();
 
  250     public: 
void ClearLights();
 
  253     public: 
void ClearPhysics();
 
  256     public: 
void ClearFrames();
 
  260     public: uint64_t ActorCount() 
const;
 
  267     public: 
const Actor *ActorByIndex(
const uint64_t _index) 
const;
 
  274     public: 
Actor *ActorByIndex(uint64_t _index);
 
  279     public: 
bool ActorNameExists(
const std::string &_name) 
const;
 
  286     public: uint64_t FrameCount() 
const;
 
  295     public: 
const Frame *FrameByIndex(
const uint64_t _index) 
const;
 
  304     public: 
Frame *FrameByIndex(uint64_t _index);
 
  312     public: 
const Frame *FrameByName(
const std::string &_name) 
const;
 
  320     public: 
Frame *FrameByName(
const std::string &_name);
 
  327     public: 
bool FrameNameExists(
const std::string &_name) 
const;
 
  331     public: uint64_t JointCount() 
const;
 
  338     public: 
const Joint *JointByIndex(uint64_t _index) 
const;
 
  345     public: 
Joint *JointByIndex(uint64_t _index);
 
  353     public: 
const Joint *JointByName(
const std::string &_name) 
const;
 
  361     public: 
Joint *JointByName(
const std::string &_name);
 
  366     public: 
bool JointNameExists(
const std::string &_name) 
const;
 
  370     public: uint64_t LightCount() 
const;
 
  377     public: 
const Light *LightByIndex(
const uint64_t _index) 
const;
 
  384     public: 
Light *LightByIndex(uint64_t _index);
 
  389     public: 
bool LightNameExists(
const std::string &_name) 
const;
 
  409     public: 
void SetGui(
const sdf::Gui &_gui);
 
  419     public: 
void SetScene(
const sdf::Scene &_scene);
 
  429     public: uint64_t PhysicsCount() 
const;
 
  437     public: 
const Physics *PhysicsByIndex(
const uint64_t _index) 
const;
 
  445     public: 
Physics *PhysicsByIndex(uint64_t _index);
 
  449     public: 
const Physics *PhysicsDefault() 
const;
 
  454     public: 
bool PhysicsNameExists(
const std::string &_name) 
const;
 
  460     public: uint64_t InterfaceModelCount() 
const;
 
  468     public: std::shared_ptr<const InterfaceModel> InterfaceModelByIndex(
 
  469                 const uint64_t _index) 
const;
 
  478     public: 
const NestedInclude* InterfaceModelNestedIncludeByIndex(
 
  479                 const uint64_t _index) 
const;
 
  499     public: 
bool NameExistsInFrameAttachedToGraph(
 
  500                 const std::string &_name) 
const;
 
  513     public: 
void ClearPlugins();
 
  517     public: 
void AddPlugin(
const Plugin &_plugin);
 
  523     private: 
void SetPoseRelativeToGraph(
 
  530     private: 
void SetFrameAttachedToGraph(
 
  538     GZ_UTILS_IMPL_PTR(dataPtr)