Irrlicht 3D Engine
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
IParticleEmitter.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_EMITTER_H_INCLUDED__
6
#define __I_PARTICLE_EMITTER_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_EMITTER_TYPE
18
{
19
EPET_POINT
= 0,
20
EPET_ANIMATED_MESH
,
21
EPET_BOX
,
22
EPET_CYLINDER
,
23
EPET_MESH
,
24
EPET_RING
,
25
EPET_SPHERE
,
26
EPET_COUNT
27
};
28
30
const
c8
*
const
ParticleEmitterTypeNames
[] =
31
{
32
"Point"
,
33
"AnimatedMesh"
,
34
"Box"
,
35
"Cylinder"
,
36
"Mesh"
,
37
"Ring"
,
38
"Sphere"
,
39
0
40
};
41
43
45
class
IParticleEmitter
:
public
virtual
io::IAttributeExchangingObject
46
{
47
public
:
48
50
55
virtual
s32
emitt
(
u32
now,
u32
timeSinceLastCall,
SParticle
*& outArray) = 0;
56
58
virtual
void
setDirection
(
const
core::vector3df
& newDirection ) = 0;
59
61
virtual
void
setMinParticlesPerSecond
(
u32
minPPS ) = 0;
62
64
virtual
void
setMaxParticlesPerSecond
(
u32
maxPPS ) = 0;
65
67
virtual
void
setMinStartColor
(
const
video::SColor
& color ) = 0;
68
70
virtual
void
setMaxStartColor
(
const
video::SColor
& color ) = 0;
71
73
virtual
void
setMaxStartSize
(
const
core::dimension2df
& size ) = 0;
74
76
virtual
void
setMinStartSize
(
const
core::dimension2df
& size ) = 0;
77
79
virtual
void
setMinLifeTime
(
u32
lifeTimeMin ) = 0;
80
82
virtual
void
setMaxLifeTime
(
u32
lifeTimeMax ) = 0;
83
85
virtual
void
setMaxAngleDegrees
(
s32
maxAngleDegrees ) = 0;
86
88
virtual
const
core::vector3df
&
getDirection
()
const
= 0;
89
91
virtual
u32
getMinParticlesPerSecond
()
const
= 0;
92
94
virtual
u32
getMaxParticlesPerSecond
()
const
= 0;
95
97
virtual
const
video::SColor
&
getMinStartColor
()
const
= 0;
98
100
virtual
const
video::SColor
&
getMaxStartColor
()
const
= 0;
101
103
virtual
const
core::dimension2df
&
getMaxStartSize
()
const
= 0;
104
106
virtual
const
core::dimension2df
&
getMinStartSize
()
const
= 0;
107
109
virtual
u32
getMinLifeTime
()
const
= 0;
110
112
virtual
u32
getMaxLifeTime
()
const
= 0;
113
115
virtual
s32
getMaxAngleDegrees
()
const
= 0;
116
117
119
virtual
E_PARTICLE_EMITTER_TYPE
getType
()
const
{
return
EPET_POINT
; }
120
};
121
122
typedef
IParticleEmitter
IParticlePointEmitter
;
123
124
}
// end namespace scene
125
}
// end namespace irr
126
127
128
#endif
129
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