<html> <head> <title>OgreColourFaderAffector.h Source File - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link type="text/css" rel="stylesheet" href="style.css"> </head> <body> <!-- Generated by Doxygen 1.3.6 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <h1>OgreColourFaderAffector.h</h1><a href="OgreColourFaderAffector_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span> 00002 <span class="comment">-----------------------------------------------------------------------------</span> 00003 <span class="comment">This source file is part of OGRE </span> 00004 <span class="comment"> (Object-oriented Graphics Rendering Engine)</span> 00005 <span class="comment">For the latest info, see http://www.ogre3d.org/</span> 00006 <span class="comment"></span> 00007 <span class="comment">Copyright (c) 2000-2005 The OGRE Team</span> 00008 <span class="comment">Also see acknowledgements in Readme.html</span> 00009 <span class="comment"></span> 00010 <span class="comment">This program is free software; you can redistribute it and/or modify it under </span> 00011 <span class="comment">the terms of the GNU Lesser General Public License as published by the Free Software </span> 00012 <span class="comment">Foundation; either version 2 of the License, or (at your option) any later </span> 00013 <span class="comment">version.</span> 00014 <span class="comment"></span> 00015 <span class="comment">This program is distributed in the hope that it will be useful, but WITHOUT </span> 00016 <span class="comment">ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS </span> 00017 <span class="comment">FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</span> 00018 <span class="comment"></span> 00019 <span class="comment">You should have received a copy of the GNU Lesser General Public License along with </span> 00020 <span class="comment">this program; if not, write to the Free Software Foundation, Inc., 59 Temple </span> 00021 <span class="comment">Place - Suite 330, Boston, MA 02111-1307, USA, or go to </span> 00022 <span class="comment">http://www.gnu.org/copyleft/lesser.txt.</span> 00023 <span class="comment">-----------------------------------------------------------------------------</span> 00024 <span class="comment">*/</span> 00025 <span class="preprocessor">#ifndef __ColourFaderAffector_H__</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#define __ColourFaderAffector_H__</span> 00027 <span class="preprocessor"></span> 00028 <span class="preprocessor">#include "<a class="code" href="OgreParticleFXPrerequisites_8h.html">OgreParticleFXPrerequisites.h</a>"</span> 00029 <span class="preprocessor">#include "<a class="code" href="OgreParticleAffector_8h.html">OgreParticleAffector.h</a>"</span> 00030 <span class="preprocessor">#include "<a class="code" href="OgreStringInterface_8h.html">OgreStringInterface.h</a>"</span> 00031 00032 <span class="keyword">namespace </span>Ogre { 00033 00034 <a name="l00040"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html">00040</a> <span class="keyword">class </span><a class="code" href="OgreParticleFXPrerequisites_8h.html#a0">_OgreParticleFXExport</a> ColourFaderAffector : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParticleAffector.html">ParticleAffector</a> 00041 { 00042 <span class="keyword">public</span>: 00043 <a name="l00045"></a><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdRedAdjust.html">00045</a> <span class="keyword">class </span><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdRedAdjust.html">CmdRedAdjust</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a> 00046 { 00047 <span class="keyword">public</span>: 00048 <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>; 00049 <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& val); 00050 }; 00051 <a name="l00053"></a><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdGreenAdjust.html">00053</a> <span class="keyword">class </span><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdGreenAdjust.html">CmdGreenAdjust</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a> 00054 { 00055 <span class="keyword">public</span>: 00056 <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>; 00057 <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& val); 00058 }; 00059 <a name="l00061"></a><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdBlueAdjust.html">00061</a> <span class="keyword">class </span><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdBlueAdjust.html">CmdBlueAdjust</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a> 00062 { 00063 <span class="keyword">public</span>: 00064 <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>; 00065 <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& val); 00066 }; 00067 <a name="l00069"></a><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdAlphaAdjust.html">00069</a> <span class="keyword">class </span><a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdAlphaAdjust.html">CmdAlphaAdjust</a> : <span class="keyword">public</span> <a class="code" href="classOgre_1_1ParamCommand.html">ParamCommand</a> 00070 { 00071 <span class="keyword">public</span>: 00072 <a class="code" href="namespaceOgre.html#a426">String</a> doGet(<span class="keyword">const</span> <span class="keywordtype">void</span>* target) <span class="keyword">const</span>; 00073 <span class="keywordtype">void</span> doSet(<span class="keywordtype">void</span>* target, <span class="keyword">const</span> <a class="code" href="namespaceOgre.html#a426">String</a>& val); 00074 }; 00075 00076 00078 ColourFaderAffector(<a class="code" href="classOgre_1_1ParticleSystem.html">ParticleSystem</a>* psys); 00079 00081 <span class="keywordtype">void</span> _affectParticles(<a class="code" href="classOgre_1_1ParticleSystem.html">ParticleSystem</a>* pSystem, <a class="code" href="namespaceOgre.html#a420">Real</a> timeElapsed); 00082 00089 <span class="keywordtype">void</span> setAdjust(<span class="keywordtype">float</span> red, <span class="keywordtype">float</span> green, <span class="keywordtype">float</span> blue, <span class="keywordtype">float</span> alpha = 0.0); 00096 <span class="keywordtype">void</span> setRedAdjust(<span class="keywordtype">float</span> red); 00097 00099 <span class="keywordtype">float</span> getRedAdjust(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00100 00107 <span class="keywordtype">void</span> setGreenAdjust(<span class="keywordtype">float</span> green); 00109 <span class="keywordtype">float</span> getGreenAdjust(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00116 <span class="keywordtype">void</span> setBlueAdjust(<span class="keywordtype">float</span> blue); 00118 <span class="keywordtype">float</span> getBlueAdjust(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00119 00126 <span class="keywordtype">void</span> setAlphaAdjust(<span class="keywordtype">float</span> alpha); 00128 <span class="keywordtype">float</span> getAlphaAdjust(<span class="keywordtype">void</span>) <span class="keyword">const</span>; 00129 <a name="l00130"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectors0">00130</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdRedAdjust.html">CmdRedAdjust</a> msRedCmd; <a name="l00131"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectors1">00131</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdGreenAdjust.html">CmdGreenAdjust</a> msGreenCmd; <a name="l00132"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectors2">00132</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdBlueAdjust.html">CmdBlueAdjust</a> msBlueCmd; <a name="l00133"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectors3">00133</a> <span class="keyword">static</span> <a class="code" href="classOgre_1_1ColourFaderAffector_1_1CmdAlphaAdjust.html">CmdAlphaAdjust</a> msAlphaCmd; 00134 00135 <span class="keyword">protected</span>: <a name="l00136"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectorp0">00136</a> <span class="keywordtype">float</span> mRedAdj; <a name="l00137"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectorp1">00137</a> <span class="keywordtype">float</span> mGreenAdj; <a name="l00138"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectorp2">00138</a> <span class="keywordtype">float</span> mBlueAdj; <a name="l00139"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectorp3">00139</a> <span class="keywordtype">float</span> mAlphaAdj; 00140 <a name="l00142"></a><a class="code" href="classOgre_1_1ColourFaderAffector.html#Ogre_1_1ColourFaderAffectorb0">00142</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> applyAdjustWithClamp(<span class="keywordtype">float</span>* pComponent, <span class="keywordtype">float</span> adjust) 00143 { 00144 *pComponent += adjust; 00145 <span class="comment">// Limit to 0</span> 00146 <span class="keywordflow">if</span> (*pComponent < 0.0) 00147 { 00148 *pComponent = 0.0f; 00149 } 00150 <span class="comment">// Limit to 1</span> 00151 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*pComponent > 1.0) 00152 { 00153 *pComponent = 1.0f; 00154 } 00155 } 00156 00157 }; 00158 00159 00160 } 00161 00162 00163 <span class="preprocessor">#endif</span> 00164 <span class="preprocessor"></span> </pre></div><p> Copyright © 2000-2005 by The OGRE Team<br /> Last modified Wed Feb 23 00:19:03 2005 </p> </body> </html>