Main Page Namespace List Class Hierarchy Alphabetical List Data Structures File List Namespace Members Data Fields Globals

# ExManagerFog.h

Go to the documentation of this file.

    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__