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:
const Actor *ActorByName(
const std::string &_name)
const;
293 public:
Actor *ActorByName(
const std::string &_name);
300 public: uint64_t FrameCount()
const;
309 public:
const Frame *FrameByIndex(
const uint64_t _index)
const;
318 public:
Frame *FrameByIndex(uint64_t _index);
326 public:
const Frame *FrameByName(
const std::string &_name)
const;
334 public:
Frame *FrameByName(
const std::string &_name);
341 public:
bool FrameNameExists(
const std::string &_name)
const;
345 public: uint64_t JointCount()
const;
352 public:
const Joint *JointByIndex(uint64_t _index)
const;
359 public:
Joint *JointByIndex(uint64_t _index);
367 public:
const Joint *JointByName(
const std::string &_name)
const;
375 public:
Joint *JointByName(
const std::string &_name);
380 public:
bool JointNameExists(
const std::string &_name)
const;
384 public: uint64_t LightCount()
const;
391 public:
const Light *LightByIndex(
const uint64_t _index)
const;
398 public:
Light *LightByIndex(uint64_t _index);
403 public:
bool LightNameExists(
const std::string &_name)
const;
423 public:
void SetGui(
const sdf::Gui &_gui);
433 public:
void SetScene(
const sdf::Scene &_scene);
443 public: uint64_t PhysicsCount()
const;
451 public:
const Physics *PhysicsByIndex(
const uint64_t _index)
const;
459 public:
Physics *PhysicsByIndex(uint64_t _index);
463 public:
const Physics *PhysicsDefault()
const;
468 public:
bool PhysicsNameExists(
const std::string &_name)
const;
474 public: uint64_t InterfaceModelCount()
const;
482 public: std::shared_ptr<const InterfaceModel> InterfaceModelByIndex(
483 const uint64_t _index)
const;
492 public:
const NestedInclude* InterfaceModelNestedIncludeByIndex(
493 const uint64_t _index)
const;
513 public:
bool NameExistsInFrameAttachedToGraph(
514 const std::string &_name)
const;
527 public:
void ClearPlugins();
531 public:
void AddPlugin(
const Plugin &_plugin);
537 private:
void SetPoseRelativeToGraph(
544 private:
void SetFrameAttachedToGraph(
552 GZ_UTILS_IMPL_PTR(dataPtr)