00001 /************************************************************************/ 00002 /* Ex Nihlo Engine by Hermanns Christophe */ 00003 /************************************************************************/ 00004 /* This program is free software; you can redistribute it and/or */ 00005 /* modify it under the terms of the GNU General Public License */ 00006 /* as published by the Free Software Foundation; either version 2 */ 00007 /* of the License, or (at your option) any later version. */ 00008 /* */ 00009 /* This program is distributed in the hope that it will be useful, */ 00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ 00012 /* */ 00013 /* See the GNU General Public License for more details. */ 00014 /* */ 00015 /* You should have received a copy of the GNU General Public License */ 00016 /* along with this program; if not, write to the Free Software */ 00017 /* Foundation, Inc., 59 Temple Place - Suite 330, */ 00018 /* Boston, MA 02111-1307, USA. */ 00019 /* */ 00020 /* If you use a important part of this code please send me a mail */ 00021 /* I just want to see where my code go thks :) */ 00022 /************************************************************************/ 00023 00024 /************************************************************************/ 00025 /* Contact */ 00026 /************************************************************************/ 00027 /* ExNihilo Website :www.ploksoftware.org */ 00028 /* */ 00029 /* Hermanns Christophe ExNihilo creator and main programmer */ 00030 /* */ 00031 /* Mail : Data@ploksoftware.org */ 00032 /* ICQ : 8030901 */ 00033 /* MSN Messenger : Data_7@hotmail.com */ 00034 /* */ 00035 /* Benjamin Michotte Linux port, webmaster */ 00036 /* */ 00037 /* Mail :binny@ploksoftware.org */ 00038 /* */ 00039 /************************************************************************/ 00040 00041 /************************************************************************/ 00042 /* File Description */ 00043 /************************************************************************/ 00044 /* File Name :InputActionList.h */ 00045 /* */ 00046 /* Star Date :03/15/2002 */ 00047 /* */ 00048 /* Last Update : 00049 * $Id: ExManagerFog.h,v 1.8 2002/09/22 15:53:57 data Exp $ 00050 * 00051 */ 00052 00053 #ifndef __EXMANAGERFOG_H__ 00054 #define __EXMANAGERFOG_H__ 00055 //-------------------------------- 00056 // File to include 00057 //-------------------------------- 00058 #include "ExDefine.h" 00059 #include "ExMath.h" 00060 #include "ExManager.h" 00061 //-------------------------------- 00062 class ExManagerFog : public ExManager 00063 { 00064 private: 00065 //-------------------------------- 00066 // Variable 00067 //-------------------------------- 00068 GLfloat m_FogColor[4]; 00069 GLfloat m_StartPoint; 00070 GLfloat m_EndPoint; 00071 GLfloat m_Density; 00072 GLenum m_FogAlgo; 00073 bool m_State; 00074 //-------------------------------- 00075 // Singleton creation 00076 //-------------------------------- 00077 static bool m_flag; 00078 static ExManagerFog *m_instance; 00079 ExManagerFog(void); 00080 ~ExManagerFog(void); 00081 //-------------------------------- 00082 public: 00083 //-------------------------------- 00084 // Methode 00085 //-------------------------------- 00086 static ExManagerFog* CreateSingleton(void); 00087 00088 void Reset(void); 00089 void Init(void){return;} 00090 ExCAction InputCommand(ExCCommand Command); 00091 ExCAction InputAction(ExCAction Action); 00092 00093 void EnableFog(void); 00094 void DisableFog(void); 00095 inline bool GetState(void){return m_State;} 00096 00097 void SetFogColor(float R,float G,float B,float A); 00098 inline void SetFogColorR(float R); 00099 inline float GetFogColorR(void){return m_FogColor[0];} 00100 void IncFogColorR(float inc); 00101 void SetFogColorG(float G); 00102 inline float GetFogColorG(void){return m_FogColor[1];} 00103 void IncFogColorG(float inc); 00104 void SetFogColorB(float B); 00105 inline float GetFogColorB(void){return m_FogColor[2];} 00106 void IncFogColorB(float inc); 00107 void SetFogColorA(float A); 00108 inline float GetFogColorA(void){return m_FogColor[3];} 00109 void IncFogColorA(float inc); 00110 00111 void SetStartPoint(float P); 00112 inline float GetStarPoint(void){return m_StartPoint;} 00113 void IncStartPoint(float inc); 00114 00115 void SetEndPoint(float P); 00116 inline float GetEndPoint(void){return m_EndPoint;} 00117 void IncEndPoint(float inc); 00118 00119 void SetDensity(float P); 00120 inline float GetDensity(void){return m_Density;} 00121 void IncDensity(float inc); 00122 00123 inline GLenum GetAlgo(void){return m_FogAlgo;} 00124 void SetAlgo(GLenum algo); 00125 00126 00127 //-------------------------------- 00128 // Operator 00129 //-------------------------------- 00130 //-------------------------------- 00131 // friends 00132 //-------------------------------- 00133 }; 00134 #endif //__EXMANAGERFOG_H__