TDME2  1.9.200
ParticleSystemInternal.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
9 
10 using std::string;
11 
15 
16 /**
17  * Particle system entity internal interface
18  * @author Andreas Drewke
19  */
21 {
22 
23  /**
24  * Public destructor
25  */
27 
28  /**
29  * @return particle emitter
30  */
31  virtual ParticleEmitter* getEmitter() = 0;
32 
33  /**
34  * @return object id
35  */
36  virtual const string& getId() = 0;
37 
38  /**
39  * @return true if enabled to be rendered
40  */
41  virtual bool isEnabled() = 0;
42 
43  /**
44  * @return true if active / particles available
45  */
46  virtual bool isActive() = 0;
47 
48  /**
49  * Enable/disable rendering
50  * @param enabled enabled
51  */
52  virtual void setEnabled(bool enabled) = 0;
53 
54  /**
55  * @return if object is pickable
56  */
57  virtual bool isPickable() = 0;
58 
59  /**
60  * Set this object pickable
61  * @param pickable pickable
62  */
63  virtual void setPickable(bool pickable) = 0;
64 
65  /**
66  * @return if auto emit is enabled
67  */
68  virtual bool isAutoEmit() = 0;
69 
70  /**
71  * Set auto emit
72  * @param autoEmit auto emit
73  */
74  virtual void setAutoEmit(bool autoEmit) = 0;
75 
76  /**
77  * The effect color will be multiplied with fragment color
78  * @return effect color
79  */
80  virtual const Color4& getEffectColorMul() const = 0;
81 
82  /**
83  * Set the effect color that will be multiplied with fragment color
84  * @param effectColorMul effect color
85  */
86  virtual void setEffectColorMul(const Color4& effectColorMul) = 0;
87 
88  /**
89  * The effect color will be added to fragment color
90  * @return effect color
91  */
92  virtual const Color4& getEffectColorAdd() const = 0;
93 
94  /**
95  * Set the effect color that will be added to fragment color
96  * @param effectColorAdd effect color
97  */
98  virtual void setEffectColorAdd(const Color4& effectColorAdd) = 0;
99 
100  /**
101  * Updates the particle entity
102  */
103  virtual void updateParticles() = 0;
104 
105  /**
106  * Adds particles to this particle entity at given position
107  */
108  virtual int emitParticles() = 0;
109 
110  /**
111  * Set transform
112  * @param transform transform
113  */
114  virtual void setTransform(const Transform& transform) = 0;
115 
116  /**
117  * Update transform
118  */
119  virtual void update() = 0;
120 
121  /**
122  * @return local transform
123  */
124  virtual const Transform& getLocalTransform() = 0;
125 
126  /**
127  * Set local transform
128  * @param transform local transform
129  */
130  virtual void setLocalTransform(const Transform& transform) = 0;
131 };
Color 4 definition class.
Definition: Color4.h:18
Transform which contain scale, rotations and translation.
Definition: Transform.h:29
virtual void updateParticles()=0
Updates the particle entity.
virtual void setAutoEmit(bool autoEmit)=0
Set auto emit.
virtual void setLocalTransform(const Transform &transform)=0
Set local transform.
virtual int emitParticles()=0
Adds particles to this particle entity at given position.
virtual const Color4 & getEffectColorAdd() const =0
The effect color will be added to fragment color.
virtual void setEffectColorMul(const Color4 &effectColorMul)=0
Set the effect color that will be multiplied with fragment color.
virtual void setTransform(const Transform &transform)=0
Set transform.
virtual const Color4 & getEffectColorMul() const =0
The effect color will be multiplied with fragment color.
virtual void setPickable(bool pickable)=0
Set this object pickable.
virtual void setEffectColorAdd(const Color4 &effectColorAdd)=0
Set the effect color that will be added to fragment color.
virtual void setEnabled(bool enabled)=0
Enable/disable rendering.