00001 //=========================================================================== 00002 //= fondo.h Octubre de anno = 00003 //=-------------------------------------------------------------------------= 00004 //= Definiciones de la clase FONDO. = 00005 //=-------------------------------------------------------------------------= 00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO = 00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN = 00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES, = 00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO, = 00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO, = 00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA = 00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES = 00013 //= ("ACTIVIDADES DE ALGO RIESGO"). = 00014 //=-------------------------------------------------------------------------= 00015 //= Autor original: Oscar J. Chavarro G. A.K.A. JEDILINK. Copyright (c), = 00016 //= 1997 - 2003, oscarchavarro@hotmail.com = 00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia = 00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la = 00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. = 00020 //=========================================================================== 00021 00022 #ifndef __FONDO__ 00023 #define __FONDO__ 00024 00025 #include "jed_defs.h" // Incluir antes que nada, en ese modulo se definen 00026 // aspectos importantes para la portabilidad del sistema 00027 #include "toolkits/entorno/camara.h" 00028 #include "toolkits/util/cuadricula.h" 00029 00030 class FONDO { 00031 protected: 00032 BOOLEAN nuevito; 00033 int lista_gl; 00034 public: 00035 FONDO(); 00036 virtual ~FONDO(); 00037 virtual void init(void) = 0; 00038 #ifdef GL_ENABLED 00039 virtual void pintar_gl(CAMARA *Camara) = 0; 00040 #endif 00041 virtual void pintar_povray(FILE *fd); 00042 00043 //- Operaciones de persistencia ----------------------------------------- 00044 virtual BOOLEAN leer(TOKENIZADOR *Sabiondo) = 0; 00045 }; 00046 00047 class FONDO_SENCILLO : public FONDO { 00048 private: 00049 COLOR _color; 00050 public: 00051 FONDO_SENCILLO(); 00052 virtual ~FONDO_SENCILLO(); 00053 void init(void); 00054 #ifdef GL_ENABLED 00055 void pintar_gl(CAMARA *Camara); 00056 #endif 00057 void pintar_povray(FILE *fd); 00058 00059 //- Operaciones de persistencia ----------------------------------------- 00060 BOOLEAN leer(TOKENIZADOR *Sabiondo); 00061 }; 00062 00063 class FONDO_ATMOSFERICO : public FONDO { 00064 public: 00065 FONDO_ATMOSFERICO(); 00066 virtual ~FONDO_ATMOSFERICO(); 00067 void init(void); 00068 #ifdef GL_ENABLED 00069 void pintar_gl(CAMARA *Camara); 00070 #endif 00071 //void pintar_povray(FILE *fd); 00072 00073 //- Operaciones de persistencia ----------------------------------------- 00074 BOOLEAN leer(TOKENIZADOR *Sabiondo); 00075 }; 00076 00077 class FONDO_ESTRELLAS : public FONDO { 00078 public: 00079 FONDO_ESTRELLAS(); 00080 virtual ~FONDO_ESTRELLAS(); 00081 void init(void); 00082 #ifdef GL_ENABLED 00083 void pintar_gl(CAMARA *Camara); 00084 #endif 00085 //void pintar_povray(FILE *fd); 00086 00087 //- Operaciones de persistencia ----------------------------------------- 00088 BOOLEAN leer(TOKENIZADOR *Sabiondo); 00089 }; 00090 00091 class FONDO_MAPA_DE_ENTORNO : public FONDO { 00092 private: 00093 CUADRICULA *parches[6]; 00094 char *prefijo; 00095 public: 00096 FONDO_MAPA_DE_ENTORNO(); 00097 virtual ~FONDO_MAPA_DE_ENTORNO(); 00098 void init(void); 00099 #ifdef GL_ENABLED 00100 void pintar_gl(CAMARA *Camara); 00101 #endif 00102 //void pintar_povray(FILE *fd); 00103 00104 //- Operaciones de persistencia ----------------------------------------- 00105 BOOLEAN leer(TOKENIZADOR *Sabiondo); 00106 }; 00107 00108 #endif // __FONDO__ 00109 00110 //=========================================================================== 00111 //= EOF = 00112 //=========================================================================== 00113