- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/Object3D/Surface2D.hpp

Go to the documentation of this file.

    00001 #ifndef SURFACE_2D_HPP
    00002 #define SURFACE_2D_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // Les types "USpeed Game Engine"
    00008 #include "Core/CoreTypes.hpp"
    00009 #include "Material/Material.hpp"
    00010 #include "Object3D/Object3D.hpp"
    00011
    00012 namespace USpeedGameEngine
    00013 {
    00014
    00015 class Surface2D : public Object3D
    00016 {
    00017     /****************
    00018     * Les attributs *
    00019     ****************/
    00020     public :
    00021     protected :
    00022     private :
    00023         float xSize;
    00024         float ySize;
    00025         float xPos;
    00026         float yPos;
    00027         float xCenter;
    00028         float yCenter;
    00029
    00030     /***************
    00031     * Les méthodes *
    00032     ***************/
    00033     public :
    00034         // Destructeur par défaut.
    00035         ~Surface2D();
    00036         // Constructeur par défaut.
    00037         Surface2D();
    00038         // Retourne valeur du rapport "largeur/hauteur" de la zone de rendu (l'écran).
    00039         static float screenRatio();
    00040
    00042         // Fonctions héritées //
    00044         // Permet de définir la translation à effectuer sur modèle avant le rendu.
    00045         void setTranslation(USGE_Float3 const &trans, bool add, bool computeSurface);
    00046         void setTranslation(USGE_Float3 const &trans, bool add);
    00047         void setTranslation(USGE_Float3 const &trans);
    00048         // Remise à zéro de l'instance de la classe.
    00049         void clear();
    00050
    00052         // Fonctions 2D //
    00054        // Modification du centre/pivot.
    00055         void setCenter(float x, float y, bool computeSurface);
    00056         void setCenter(float x, float y);
    00057         // Modification de la taille de la surface.
    00058         void setSize(float x, float y, bool computeSurface);
    00059         void setSize(float x, float y);
    00060         // Modification de la position de la surface.
    00061         void setPosition(float x, float y, bool computeSurface);
    00062         void setPosition(float x, float y);
    00063         // Modifications des coordonnées de texture.
    00064         void setTexturePart(float xStart, float yStart, float xEnd, float yEnd);
    00065         // Calcul et détermination de la surface à partir des paramètres fournis.
    00066         void applyParameters();
    00067
    00069         // Chargements //
    00071         // Chargement d'une surface ayant la taille de la zone de rendu (hors mouvement de caméra).
    00072         bool loadSurface();
    00073
    00074     protected :
    00075     private :
    00076         // Effectue les transformations directes de l'objet courant en tant que parent lors du rendu d'un enfant
    00077         void processParentTransform(struct StructParentAttach *anchor);
    00078 };
    00079
    00080 }        // Fin "namespace USpeedGameEngine"
    00081
    00082 #endif