Irrlicht 3D Engine
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
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
8
#include "
IAttributeExchangingObject.h
"
9
#include "
SParticle.h
"
10
11
namespace
irr
12
{
13
namespace
scene
14
{
15
17
enum
E_PARTICLE_AFFECTOR_TYPE
18
{
19
EPAT_NONE
= 0,
20
EPAT_ATTRACT
,
21
EPAT_FADE_OUT
,
22
EPAT_GRAVITY
,
23
EPAT_ROTATE
,
24
EPAT_SCALE
,
25
EPAT_COUNT
26
};
27
29
const
c8
*
const
ParticleAffectorTypeNames
[] =
30
{
31
"None"
,
32
"Attract"
,
33
"FadeOut"
,
34
"Gravity"
,
35
"Rotate"
,
36
"Scale"
,
37
0
38
};
39
41
class
IParticleAffector
:
public
virtual
io::IAttributeExchangingObject
42
{
43
public
:
44
46
IParticleAffector
() :
Enabled
(true) {}
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
63
protected
:
64
bool
Enabled
;
65
};
66
67
}
// end namespace scene
68
}
// end namespace irr
69
70
71
#endif
72
Irrlicht Engine
Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on Mon Jun 6 2022 20:53:05 for Irrlicht 3D Engine by
Doxygen
1.8.1.2