23 #include <ignition/math/SphericalCoordinates.hh>
24 #include <ignition/math/Vector3.hh>
25 #include <ignition/utils/ImplPtr.hh>
41 inline namespace SDF_VERSION_NAMESPACE {
53 struct PoseRelativeToGraph;
54 struct FrameAttachedToGraph;
55 template <
typename T>
class ScopedGraph;
83 public:
Errors ValidateGraphs()
const;
87 public: std::string Name()
const;
91 public:
void SetName(
const std::string &_name);
97 public: std::string AudioDevice()
const;
103 public:
void SetAudioDevice(
const std::string &_device);
109 public: ignition::math::Vector3d WindLinearVelocity()
const;
115 public:
void SetWindLinearVelocity(
const ignition::math::Vector3d &_wind);
122 public: ignition::math::Vector3d Gravity()
const;
127 public:
void SetGravity(
const ignition::math::Vector3d &_gravity);
135 public: ignition::math::Vector3d MagneticField()
const;
143 public:
void SetMagneticField(
const ignition::math::Vector3d &_mag);
147 public:
const ignition::math::SphericalCoordinates *
148 SphericalCoordinates()
const;
152 public:
void SetSphericalCoordinates(
153 const ignition::math::SphericalCoordinates &_coord);
160 public: uint64_t ModelCount()
const;
168 public:
const Model *ModelByIndex(
const uint64_t _index)
const;
176 public:
Model *ModelByIndex(uint64_t _index);
185 public:
const Model *ModelByName(
const std::string &_name)
const;
194 public:
Model *ModelByName(
const std::string &_name);
201 public:
bool ModelNameExists(
const std::string &_name)
const;
207 public:
bool AddModel(
const Model &_model);
213 public:
bool AddActor(
const Actor &_actor);
219 public:
bool AddLight(
const Light &_light);
225 public:
bool AddPhysics(
const Physics &_physics);
231 public:
bool AddFrame(
const Frame &_frame);
234 public:
void ClearModels();
237 public:
void ClearActors();
240 public:
void ClearLights();
243 public:
void ClearPhysics();
246 public:
void ClearFrames();
250 public: uint64_t ActorCount()
const;
257 public:
const Actor *ActorByIndex(
const uint64_t _index)
const;
264 public:
Actor *ActorByIndex(uint64_t _index);
269 public:
bool ActorNameExists(
const std::string &_name)
const;
276 public: uint64_t FrameCount()
const;
285 public:
const Frame *FrameByIndex(
const uint64_t _index)
const;
294 public:
Frame *FrameByIndex(uint64_t _index);
302 public:
const Frame *FrameByName(
const std::string &_name)
const;
310 public:
Frame *FrameByName(
const std::string &_name);
317 public:
bool FrameNameExists(
const std::string &_name)
const;
321 public: uint64_t LightCount()
const;
328 public:
const Light *LightByIndex(
const uint64_t _index)
const;
335 public:
Light *LightByIndex(uint64_t _index);
340 public:
bool LightNameExists(
const std::string &_name)
const;
360 public:
void SetGui(
const sdf::Gui &_gui);
370 public:
void SetScene(
const sdf::Scene &_scene);
380 public: uint64_t PhysicsCount()
const;
388 public:
const Physics *PhysicsByIndex(
const uint64_t _index)
const;
396 public:
Physics *PhysicsByIndex(uint64_t _index);
400 public:
const Physics *PhysicsDefault()
const;
405 public:
bool PhysicsNameExists(
const std::string &_name)
const;
411 public: uint64_t InterfaceModelCount()
const;
419 public: std::shared_ptr<const InterfaceModel> InterfaceModelByIndex(
420 const uint64_t _index)
const;
429 public:
const NestedInclude* InterfaceModelNestedIncludeByIndex(
430 const uint64_t _index)
const;
439 const OutputConfig &_config = OutputConfig::GlobalConfig())
const;
452 public:
void ClearPlugins();
456 public:
void AddPlugin(
const Plugin &_plugin);
462 private:
void SetPoseRelativeToGraph(
469 private:
void SetFrameAttachedToGraph(
477 IGN_UTILS_IMPL_PTR(dataPtr)