OGRE
1.9
Object-Oriented Graphics Rendering Engine
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
OgreColourFaderAffector.h
Go to the documentation of this file.
1
/*
2
-----------------------------------------------------------------------------
3
This source file is part of OGRE
4
(Object-oriented Graphics Rendering Engine)
5
For the latest info, see http://www.ogre3d.org/
6
7
Copyright (c) 2000-2014 Torus Knot Software Ltd
8
9
Permission is hereby granted, free of charge, to any person obtaining a copy
10
of this software and associated documentation files (the "Software"), to deal
11
in the Software without restriction, including without limitation the rights
12
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
copies of the Software, and to permit persons to whom the Software is
14
furnished to do so, subject to the following conditions:
15
16
The above copyright notice and this permission notice shall be included in
17
all copies or substantial portions of the Software.
18
19
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
THE SOFTWARE.
26
-----------------------------------------------------------------------------
27
*/
28
#ifndef __ColourFaderAffector_H__
29
#define __ColourFaderAffector_H__
30
31
#include "
OgreParticleFXPrerequisites.h
"
32
#include "
OgreParticleAffector.h
"
33
#include "
OgreStringInterface.h
"
34
35
namespace
Ogre {
36
37
43
class
_OgreParticleFXExport
ColourFaderAffector
:
public
ParticleAffector
44
{
45
public
:
46
48
class
CmdRedAdjust
:
public
ParamCommand
49
{
50
public
:
51
String
doGet(
const
void
* target)
const
;
52
void
doSet(
void
* target,
const
String
& val);
53
};
54
56
class
CmdGreenAdjust
:
public
ParamCommand
57
{
58
public
:
59
String
doGet(
const
void
* target)
const
;
60
void
doSet(
void
* target,
const
String
& val);
61
};
62
64
class
CmdBlueAdjust
:
public
ParamCommand
65
{
66
public
:
67
String
doGet(
const
void
* target)
const
;
68
void
doSet(
void
* target,
const
String
& val);
69
};
70
72
class
CmdAlphaAdjust
:
public
ParamCommand
73
{
74
public
:
75
String
doGet(
const
void
* target)
const
;
76
void
doSet(
void
* target,
const
String
& val);
77
};
78
79
81
ColourFaderAffector
(
ParticleSystem
* psys);
82
84
void
_affectParticles(
ParticleSystem
* pSystem,
Real
timeElapsed);
85
92
void
setAdjust(
float
red,
float
green,
float
blue,
float
alpha = 0.0);
99
void
setRedAdjust(
float
red);
100
102
float
getRedAdjust(
void
)
const
;
103
110
void
setGreenAdjust(
float
green);
112
float
getGreenAdjust(
void
)
const
;
119
void
setBlueAdjust(
float
blue);
121
float
getBlueAdjust(
void
)
const
;
122
129
void
setAlphaAdjust(
float
alpha);
131
float
getAlphaAdjust(
void
)
const
;
132
133
static
CmdRedAdjust
msRedCmd
;
134
static
CmdGreenAdjust
msGreenCmd
;
135
static
CmdBlueAdjust
msBlueCmd
;
136
static
CmdAlphaAdjust
msAlphaCmd
;
137
138
protected
:
139
float
mRedAdj
;
140
float
mGreenAdj
;
141
float
mBlueAdj
;
142
float
mAlphaAdj
;
143
145
inline
void
applyAdjustWithClamp
(
float
* pComponent,
float
adjust)
146
{
147
*pComponent += adjust;
148
// Limit to 0
149
if
(*pComponent < 0.0)
150
{
151
*pComponent = 0.0f;
152
}
153
// Limit to 1
154
else
if
(*pComponent > 1.0)
155
{
156
*pComponent = 1.0f;
157
}
158
}
159
160
};
161
162
163
}
164
165
166
#endif
167
Ogre::ColourFaderAffector::CmdRedAdjust
Command object for red adjust (see ParamCommand).
Definition:
OgreColourFaderAffector.h:48
Ogre::ParticleSystem
Class defining particle system based special effects.
Definition:
OgreParticleSystem.h:67
Ogre::Real
float Real
Software floating point type.
Definition:
OgrePrerequisites.h:70
Ogre::ColourFaderAffector::CmdAlphaAdjust
Command object for alpha adjust (see ParamCommand).
Definition:
OgreColourFaderAffector.h:72
Ogre::ColourFaderAffector::mGreenAdj
float mGreenAdj
Definition:
OgreColourFaderAffector.h:140
Ogre::ColourFaderAffector::msRedCmd
static CmdRedAdjust msRedCmd
Definition:
OgreColourFaderAffector.h:133
OgreStringInterface.h
OgreParticleFXPrerequisites.h
Ogre::ColourFaderAffector::mAlphaAdj
float mAlphaAdj
Definition:
OgreColourFaderAffector.h:142
Ogre::ColourFaderAffector::applyAdjustWithClamp
void applyAdjustWithClamp(float *pComponent, float adjust)
Internal method for adjusting while clamping to [0,1].
Definition:
OgreColourFaderAffector.h:145
Ogre::ColourFaderAffector::mRedAdj
float mRedAdj
Definition:
OgreColourFaderAffector.h:139
Ogre::ColourFaderAffector::msAlphaCmd
static CmdAlphaAdjust msAlphaCmd
Definition:
OgreColourFaderAffector.h:136
Ogre::ColourFaderAffector::CmdBlueAdjust
Command object for blue adjust (see ParamCommand).
Definition:
OgreColourFaderAffector.h:64
Ogre::ColourFaderAffector
This plugin subclass of ParticleAffector allows you to alter the colour of particles.
Definition:
OgreColourFaderAffector.h:43
_OgreParticleFXExport
#define _OgreParticleFXExport
Definition:
OgreParticleFXPrerequisites.h:43
Ogre::ParticleAffector
Abstract class defining the interface to be implemented by particle affectors.
Definition:
OgreParticleAffector.h:64
Ogre::ColourFaderAffector::msGreenCmd
static CmdGreenAdjust msGreenCmd
Definition:
OgreColourFaderAffector.h:134
OgreParticleAffector.h
Ogre::String
_StringBase String
Definition:
OgrePrerequisites.h:442
Ogre::ColourFaderAffector::CmdGreenAdjust
Command object for green adjust (see ParamCommand).
Definition:
OgreColourFaderAffector.h:56
Ogre::ColourFaderAffector::msBlueCmd
static CmdBlueAdjust msBlueCmd
Definition:
OgreColourFaderAffector.h:135
Ogre::ColourFaderAffector::mBlueAdj
float mBlueAdj
Definition:
OgreColourFaderAffector.h:141
Ogre::ParamCommand
Abstract class which is command object which gets/sets parameters.
Definition:
OgreStringInterface.h:79
Plugins
ParticleFX
include
OgreColourFaderAffector.h
Generated on Fri Jun 20 2014 00:37:31 for OGRE by
1.8.7