aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Graphics/particle/je_particle_emitter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Graphics/particle/je_particle_emitter.h')
-rw-r--r--src/libjin/Graphics/particle/je_particle_emitter.h96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/libjin/Graphics/particle/je_particle_emitter.h b/src/libjin/Graphics/particle/je_particle_emitter.h
deleted file mode 100644
index 5e4316d..0000000
--- a/src/libjin/Graphics/particle/je_particle_emitter.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef __JE_PARTICLE_EMITTER_H
-#define __JE_PARTICLE_EMITTER_H
-
-#include "../../common/je_temporary.h"
-#include "../../math/je_vector2.hpp"
-
-#include "je_particle.h"
-
-namespace JinEngine
-{
- namespace Graphics
- {
-
- struct PositionDef
- {
- bool enableRandom = false;
- union
- {
- struct
- {
- Math::Vector2<float> min;
- Math::Vector2<float> max;
- } random;
- Math::Vector2<float> position;
- } position;
- };
-
- struct DirectionDef
- {
- bool enableRandom = false;
- union
- {
- struct
- {
- float min = 0;
- float max = 0;
- } random;
- float direction = 0;
- } direction;
- };
-
- struct EmitRateDef
- {
- bool enableRandom = false;
- union
- {
- struct
- {
- float min = 1;
- float max = 1;
- } random;
- float rate = 1;
- } rate;
- };
-
- ///
- /// Definition of particle emitter.
- ///
- struct ParticleEmitterDef : public Temporary
- {
- PositionDef positionDef; ///< Emit position(relativily to the particle system center).
- DirectionDef directionDef; ///< Emit direction.
- EmitRateDef emitRateDef; ///< Emit rate.
- };
-
- ///
- /// Emit a single particle.
- ///
- class ParticleEmitter
- {
- public:
- ///
- /// ParticleEmitter constructor.
- ///
- /// @param emitterDef Definition of particle emitter.
- /// @param particleDef Definition of particle.
- ///
- ParticleEmitter(const ParticleEmitterDef& emitterDef, const ParticleDef& particleDef);
-
- ///
- /// Emit a particle according to emitter definition and particle definition, particle system should
- /// assign particle value to the particle in particle pool, but not use this return particle.
- ///
- Particle emit();
-
- private:
- float mDirection;
- ParticleEmitterDef mEmitterDef;
- ParticleDef mParticleDef;
-
- };
-
- } // namespace Graphics
-} // namespace JinEngine
-
-#endif \ No newline at end of file