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)