Irrlicht 3D Engine
 
Loading...
Searching...
No Matches
IParticleAffector.h
Go to the documentation of this file.
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __I_PARTICLE_AFFECTOR_H_INCLUDED__
6#define __I_PARTICLE_AFFECTOR_H_INCLUDED__
7
9#include "SParticle.h"
10
11namespace irr
12{
13namespace scene
14{
15
27
30{
31 "None",
32 "Attract",
33 "FadeOut",
34 "Gravity",
35 "Rotate",
36 "Scale",
37 0
38};
39
42{
43public:
44
47
49
52 virtual void affect(u32 now, SParticle* particlearray, u32 count) = 0;
53
55 virtual void setEnabled(bool enabled) { Enabled = enabled; }
56
58 virtual bool getEnabled() const { return Enabled; }
59
61 virtual E_PARTICLE_AFFECTOR_TYPE getType() const = 0;
62
63protected:
64 bool Enabled;
65};
66
67} // end namespace scene
68} // end namespace irr
69
70
71#endif
72
An object which is able to serialize and deserialize its attributes into an attributes object.
A particle affector modifies particles.
virtual bool getEnabled() const
Gets whether or not the affector is currently enabled.
virtual void affect(u32 now, SParticle *particlearray, u32 count)=0
Affects an array of particles.
virtual void setEnabled(bool enabled)
Sets whether or not the affector is currently enabled.
virtual E_PARTICLE_AFFECTOR_TYPE getType() const =0
Get emitter type.
const c8 *const ParticleAffectorTypeNames[]
Names for built in particle affectors.
E_PARTICLE_AFFECTOR_TYPE
Types of built in particle affectors.
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
char c8
8 bit character variable.
Definition irrTypes.h:31
Struct for holding particle data.
Definition SParticle.h:18