22#include <ignition/math/Pose3.hh>
23#include <ignition/utils/ImplPtr.hh>
27#include "sdf/sdf_config.h"
33 inline namespace SDF_VERSION_NAMESPACE {
39 class ParticleEmitter;
42 struct PoseRelativeToGraph;
43 template <
typename T>
class ScopedGraph;
61 public: std::string
Name()
const;
66 public:
void SetName(
const std::string &_name);
165 const uint64_t _index)
const;
178 const std::string &_name)
const;
193 public:
const ignition::math::Inertiald &
Inertial()
const;
199 public:
bool SetInertial(
const ignition::math::Inertiald &_inertial);
204 public:
const ignition::math::Pose3d &
RawPose()
const;
209 public:
void SetRawPose(
const ignition::math::Pose3d &_pose);
237 private:
void SetPoseRelativeToGraph(
292 IGN_UTILS_IMPL_PTR(dataPtr)
A collision element descibes the collision properties associated with a link.
Definition: Collision.hh:46
Provides a description of a light source.
Definition: Light.hh:64
void SetPoseRelativeTo(const std::string &_frame)
Set the name of the coordinate frame relative to which this object's pose is expressed.
void SetRawPose(const ignition::math::Pose3d &_pose)
Set the pose of the link.
bool EnableWind() const
Check if this link should be subject to wind.
uint64_t VisualCount() const
Get the number of visuals.
const ignition::math::Pose3d & RawPose() const
Get the pose of the link.
void ClearVisuals()
Remove all visuals.
const std::string & PoseRelativeTo() const
Get the name of the coordinate frame relative to which this object's pose is expressed.
uint64_t LightCount() const
Get the number of lights.
bool SensorNameExists(const std::string &_name) const
Get whether a sensor name exists.
const ParticleEmitter * ParticleEmitterByIndex(const uint64_t _index) const
Get a particle emitter based on an index.
bool AddLight(const Light &_light)
Add a light to the link.
bool LightNameExists(const std::string &_name) const
Get whether a light name exists.
void ClearCollisions()
Remove all collisions.
void SetName(const std::string &_name)
Set the name of the link.
uint64_t CollisionCount() const
Get the number of collisions.
const Sensor * SensorByName(const std::string &_name) const
Get a sensor based on a name.
bool AddCollision(const Collision &_collision)
Add a collision to the link.
void ClearLights()
Remove all lights.
bool AddSensor(const Sensor &_sensor)
Add a sensor to the link.
const Visual * VisualByIndex(const uint64_t _index) const
Get a visual based on an index.
void ClearSensors()
Remove all sensors.
const Sensor * SensorByIndex(const uint64_t _index) const
Get a sensor based on an index.
sdf::SemanticPose SemanticPose() const
Get SemanticPose object of this object to aid in resolving poses.
bool CollisionNameExists(const std::string &_name) const
Get whether a collision name exists.
bool SetInertial(const ignition::math::Inertiald &_inertial)
Set the inertial value for this link.
bool VisualNameExists(const std::string &_name) const
Get whether a visual name exists.
uint64_t SensorCount() const
Get the number of sensors.
Errors Load(ElementPtr _sdf)
Load the link based on a element pointer.
const Collision * CollisionByName(const std::string &_name) const
Get a collision based on a name.
std::string Name() const
Get the name of the link.
const Light * LightByName(const std::string &_name) const
Get a light based on a name.
const Collision * CollisionByIndex(const uint64_t _index) const
Get a collision based on an index.
uint64_t ParticleEmitterCount() const
Get the number of particle emitters.
sdf::ElementPtr Element() const
Get a pointer to the SDF element that was used during load.
void SetEnableWind(bool _enableWind)
Set whether this link should be subject to wind.
bool AddVisual(const Visual &_visual)
Add a visual to the link.
bool ParticleEmitterNameExists(const std::string &_name) const
Get whether a particle emitter name exists.
const ParticleEmitter * ParticleEmitterByName(const std::string &_name) const
Get a particle emitter based on a name.
const ignition::math::Inertiald & Inertial() const
Get the inertial value for this link.
const Light * LightByIndex(const uint64_t _index) const
Get a light based on an index.
const Visual * VisualByName(const std::string &_name) const
Get a visual based on a name.
Link()
Default constructor.
A description of a particle emitter, which can be attached to a link.
Definition: ParticleEmitter.hh:61
Definition: Collision.hh:39
SemanticPose is a data structure that can be used by different DOM objects to resolve poses on a Pose...
Definition: SemanticPose.hh:55
Information about an SDF sensor.
Definition: Sensor.hh:136
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:106
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:54
namespace for Simulation Description Format parser
Definition: Actor.hh:34
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:41