TDME2  1.9.200
PointParticleEmitter.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <tdme/tdme.h>
5 #include <tdme/engine/fwd-tdme.h>
7 #include <tdme/engine/Color4.h>
10 #include <tdme/math/fwd-tdme.h>
11 #include <tdme/math/Vector3.h>
12 
18 
19 /**
20  * Point particle emitter
21  * @author Andreas Drewke
22  */
24  : public ParticleEmitter
25 {
26 private:
27  int32_t count;
28  int64_t lifeTime;
29  int64_t lifeTimeRnd;
30  float mass;
31  float massRnd;
39 
40 public:
41  // forbid class copy
43 
44  /**
45  * Public constructor
46  * @param count number of particles to emit in one second
47  * @param lifeTime life time in milli seconds
48  * @param lifeTimeRnd life time rnd in milli seconds
49  * @param mass mass in kg
50  * @param massRnd mass rnd in kg
51  * @param position position to emit from
52  * @param velocity velocity in meter / seconds
53  * @param velocityRnd velocity rnd in meter / seconds
54  * @param colorStart start color
55  * @param colorEnd end color
56  */
57  PointParticleEmitter(int32_t count, int64_t lifeTime, int64_t lifeTimeRnd, float mass, float massRnd, const Vector3& position, const Vector3& velocity, const Vector3& velocityRnd, const Color4& colorStart, const Color4& colorEnd);
58 
59  // overridden methods
60  inline const Vector3& getCenter() const override {
61  return worldPosition;
62  }
63 
64  inline int32_t getCount() const override {
65  return count;
66  }
67 
68  inline const Vector3& getVelocity() const {
69  return velocity;
70  }
71 
72  inline const Vector3& getVelocityRnd() const {
73  return velocityRnd;
74  }
75 
76  inline const Color4& getColorStart() const override {
77  return colorStart;
78  }
79 
80  inline void setColorStart(const Color4& colorStart) override {
81  this->colorStart = colorStart;
82  }
83 
84  inline const Color4& getColorEnd() const override {
85  return colorEnd;
86  }
87 
88  inline void setColorEnd(const Color4& colorEnd) override {
89  this->colorEnd = colorEnd;
90  }
91 
92  void emit(Particle* particle) override;
93  void setTransform(const Transform& transform) override;
94 
95 };
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.
void setTransform(const Transform &transform) override
Update transform with given transform.
PointParticleEmitter(int32_t count, int64_t lifeTime, int64_t lifeTimeRnd, float mass, float massRnd, const Vector3 &position, const Vector3 &velocity, const Vector3 &velocityRnd, const Color4 &colorStart, const Color4 &colorEnd)
Public constructor.
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