17 #ifndef SDF_PARTICLE_EMITTER_HH_ 18 #define SDF_PARTICLE_EMITTER_HH_ 23 #include <ignition/math/Pose3.hh> 24 #include <ignition/math/Vector3.hh> 34 inline namespace SDF_VERSION_NAMESPACE {
36 class ParticleEmitterPrivate;
37 struct PoseRelativeToGraph;
99 public: std::string Name()
const;
105 public:
void SetName(
const std::string &_name);
123 public:
bool SetType(
const std::string &_typeStr);
127 public: std::string TypeStr()
const;
132 public:
bool Emitting()
const;
137 public:
void SetEmitting(
bool _emitting);
142 public:
double Duration()
const;
147 public:
void SetDuration(
double _duration);
152 public:
double Lifetime()
const;
158 public:
void SetLifetime(
double _duration);
162 public:
double Rate()
const;
167 public:
void SetRate(
double _rate);
172 public:
double ScaleRate()
const;
178 public:
void SetScaleRate(
double _scaleRate);
182 public:
double MinVelocity()
const;
187 public:
void SetMinVelocity(
double _vel);
191 public:
double MaxVelocity()
const;
196 public:
void SetMaxVelocity(
double _vel);
212 public: ignition::math::Vector3d Size()
const;
219 public:
void SetSize(
const ignition::math::Vector3d &_size);
223 public: ignition::math::Vector3d ParticleSize()
const;
229 public:
void SetParticleSize(
const ignition::math::Vector3d &_size);
237 public: ignition::math::Color ColorStart()
const;
242 public:
void SetColorStart(
const ignition::math::Color &_colorStart);
250 public: ignition::math::Color ColorEnd()
const;
255 public:
void SetColorEnd(
const ignition::math::Color &_colorEnd);
265 public: std::string ColorRangeImage()
const;
270 public:
void SetColorRangeImage(
const std::string &_image);
274 public: std::string Topic()
const;
278 public:
void SetTopic(
const std::string &_topic);
284 public:
float ScatterRatio()
const;
289 public:
void SetScatterRatio(
float _ratio);
295 public:
const ignition::math::Pose3d &RawPose()
const;
300 public:
void SetRawPose(
const ignition::math::Pose3d &_pose);
306 public:
const std::string &PoseRelativeTo()
const;
312 public:
void SetPoseRelativeTo(
const std::string &_frame);
327 public: sdf::Material *
Material()
const;
331 public:
void SetMaterial(
const sdf::Material &_material);
335 public:
const std::string &FilePath()
const;
339 public:
void SetFilePath(
const std::string &_filePath);
345 private:
void SetXmlParentName(
const std::string &_xmlParentName);
351 private:
void SetPoseRelativeToGraph(
352 std::weak_ptr<const PoseRelativeToGraph> _graph);
360 private: ParticleEmitterPrivate *dataPtr =
nullptr;
ParticleEmitterType
The set of particle emitter types.
Definition: ParticleEmitter.hh:43
A description of a particle emitter, which can be attached to a link.
Definition: ParticleEmitter.hh:61
std::shared_ptr< Element > ElementPtr
Definition: Element.hh:53
SemanticPose is a data structure that can be used by different DOM objects to resolve poses on a Pose...
Definition: SemanticPose.hh:53
#define SDFORMAT_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system_util.hh:25
class SDFORMAT_VISIBLE Element
Definition: Element.hh:49
This class contains visual material properties.
Definition: Material.hh:45
namespace for Simulation Description Format parser
Definition: Actor.hh:32
std::vector< Error > Errors
A vector of Error.
Definition: Types.hh:95