18 #ifndef GZ_RENDERING_BASE_BASEPARTICLEEMITTER_HH_
19 #define GZ_RENDERING_BASE_BASEPARTICLEEMITTER_HH_
30 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
48 public:
virtual void Init()
override;
70 public:
virtual double Rate()
const override;
73 public:
virtual void SetRate(
double _rate)
override;
76 public:
virtual double Duration()
const override;
82 public:
virtual bool Emitting()
const override;
95 public:
virtual double Lifetime()
const override;
114 double _maxVelocity)
override;
154 protected:
double rate = 10;
157 protected:
double duration = 0;
160 protected:
bool emitting =
false;
166 protected:
double lifetime = 5;
172 protected:
double minVelocity = 1;
175 protected:
double maxVelocity = 1;
186 protected:
double scaleRate = 1;
198 protected:
float particleScatterRatio = 0.65f;
253 return this->emitterSize;
261 this->emitterSize = _size;
282 return this->duration;
289 this->duration = _duration;
296 return this->emitting;
303 this->emitting = _enable;
310 return this->particleSize;
318 this->particleSize = _size;
325 return this->lifetime;
332 this->lifetime = _lifetime;
339 return this->material;
346 this->material = _material;
353 return this->minVelocity;
360 return this->maxVelocity;
368 this->minVelocity = _minVelocity;
369 this->maxVelocity = _maxVelocity;
376 return this->colorStart;
383 return this->colorEnd;
392 this->colorStart = _colorStart;
393 this->colorEnd = _colorEnd;
400 return this->scaleRate;
407 this->scaleRate = _scaleRate;
414 return this->colorRangeImage;
421 this->colorRangeImage = _image;
428 return this->particleScatterRatio;
436 this->particleScatterRatio = _ratio;