- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/Video/Light.hpp

Go to the documentation of this file.

    00001 #ifndef VIDEO_LIGHT_HPP
    00002 #define VIDEO_LIGHT_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // C++
    00008 #include <string>
    00009
    00010 // Les types "USpeed Game Engine"
    00011 #include "Core/CoreTypes.hpp"
    00012 #include "Video.hpp"
    00013
    00014
    00015 namespace USpeedGameEngine
    00016 {
    00017
    00018 class Video::Light
    00019 {
    00020     /****************
    00021     * Les attributs *
    00022     ****************/
    00023     public :
    00024         USGE_Float3 position;
    00025         USGE_Float3 ambient;
    00026         USGE_Float3 diffuse;
    00027         USGE_Float3 specular;
    00028         bool positionnal;
    00029         bool state;
    00030     protected :
    00031     private :
    00032
    00033     /***************
    00034     * Les méthodes *
    00035     ***************/
    00036     public :
    00037         // Destructeur par défaut
    00038         ~Light();
    00039
    00040         // Sélection d'une lumière.
    00041         static Light *getLight(unsigned int num);
    00042
    00043         // Permet d'activer/désactiver l'éclairage.
    00044         static void activate(bool state);
    00045         // Permet de savoir si l'éclairage est activé ou non.
    00046         static bool isActive();
    00047         // Retourne le nombre maximum de lumières autorisées.
    00048         static unsigned int getMaxLights();
    00049
    00051         // Concernant la lumière elle-même //
    00053         // Définition de l'état activation.
    00054         void setState(bool activate);
    00055         // Accès à l'état activation.
    00056         bool getState();
    00057
    00058         // Définition du type de lumière.
    00059         void setType(bool pos);
    00060         // Accès au type de lumière.
    00061         bool getType();
    00062
    00063         // Définition de la position.
    00064         void setPosition(USGE_Float3 pos);
    00065         // Accès à la position.
    00066         USGE_Float3 getPosition();
    00067
    00068         // Définition de la couleur ambiante.
    00069         void setAmbient(USGE_Float3 color);
    00070         // Accès à la couleur ambiante.
    00071         USGE_Float3 getAmbient();
    00072
    00073         // Définition de la couleur diffuse.
    00074         void setDiffuse(USGE_Float3 color);
    00075         // Accès à la couleur diffuse.
    00076         USGE_Float3 getDiffuse();
    00077
    00078         // Définition de la couleur spéculaire.
    00079         void setSpecular(USGE_Float3 color);
    00080         // Accès à la couleur spéculaire.
    00081         USGE_Float3 getSpecular();
    00082
    00083     protected :
    00084     private :
    00085         // Constructeur par défaut
    00086         Light();
    00087 };
    00088
    00089 }        // Fin "namespace USpeedGameEngine"
    00090
    00091 #endif