TDME2  1.9.200
CircleParticleEmitter.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
4 #include <tdme/engine/fwd-tdme.h>
6 #include <tdme/engine/Color4.h>
9 #include <tdme/math/fwd-tdme.h>
10 #include <tdme/math/Vector3.h>
11 
17 
18 /**
19  * Circle particle emitter
20  * @author Andreas Drewke
21  */
23  : public ParticleEmitter
24 {
25 private:
26  int32_t count;
27  int64_t lifeTime;
28  int64_t lifeTimeRnd;
32  float radius;
36  float worldRadius;
37  float mass;
38  float massRnd;
43 
44 public:
45  // forbid class copy
47 
48  /**
49  * Public constructor
50  * @param count particles to emit in one second
51  * @param lifeTime life time
52  * @param lifeTimeRnd life time rnd
53  * @param axis0 axis 0
54  * @param axis1 axis 1
55  * @param center center
56  * @param radius radius
57  * @param mass mass
58  * @param massRnd mass rnd
59  * @param velocity velocity
60  * @param velocityRnd velocity rnd
61  * @param colorStart color start
62  * @param colorEnd color end
63  */
64  CircleParticleEmitter(int32_t count, int64_t lifeTime, int64_t lifeTimeRnd, const Vector3& axis0, const Vector3& axis1, const Vector3& center, float radius, float mass, float massRnd, const Vector3& velocity, const Vector3& velocityRnd, const Color4& colorStart, const Color4& colorEnd);
65 
66  // overridden methods
67  inline const Vector3& getCenter() const override {
68  return worldCenter;
69  }
70 
71  inline int32_t getCount() const override {
72  return count;
73  }
74 
75  inline const Vector3& getVelocity() const {
76  return velocity;
77  }
78 
79  inline const Vector3& getVelocityRnd() const {
80  return velocityRnd;
81  }
82 
83  inline const Color4& getColorStart() const override {
84  return colorStart;
85  }
86 
87  inline void setColorStart(const Color4& colorStart) override {
88  this->colorStart = colorStart;
89  }
90 
91  inline const Color4& getColorEnd() const override {
92  return colorEnd;
93  }
94 
95  inline void setColorEnd(const Color4& colorEnd) override {
96  this->colorEnd = colorEnd;
97  }
98 
99  void emit(Particle* particle) override;
100  void setTransform(const Transform& transform) override;
101 
102 };
Color 4 definition class.
Definition: Color4.h:18
Transform which contain scale, rotations and translation.
Definition: Transform.h:29
void setColorEnd(const Color4 &colorEnd) override
Set end color.
void setColorStart(const Color4 &colorStart) override
Set start color.
CircleParticleEmitter(int32_t count, int64_t lifeTime, int64_t lifeTimeRnd, const Vector3 &axis0, const Vector3 &axis1, const Vector3 &center, float radius, float mass, float massRnd, const Vector3 &velocity, const Vector3 &velocityRnd, const Color4 &colorStart, const Color4 &colorEnd)
Public constructor.
void setTransform(const Transform &transform) override
Update transform with given transform.
void emit(Particle *particle) override
Emits particles.
Vector3 class representing vector3 mathematical structure and operations with x, y,...
Definition: Vector3.h:20
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6