00001 //=========================================================================== 00002 //= campo.h Julio - agosto de 1998 = 00003 //=-------------------------------------------------------------------------= 00004 //= Definiciones de la clase CAMPO = 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 __CAMPO__ 00023 #define __CAMPO__ 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 "vector.h" 00028 00029 class CAMPO { 00030 protected: 00031 char _nombre[MAX_CAD]; 00032 public: 00033 char *nombre(void); 00034 void set_nombre(const char *n); 00035 CAMPO(); 00036 }; 00037 00038 class CAMPO_VECTORIAL : public CAMPO 00039 { 00040 private: 00041 public: 00042 CAMPO_VECTORIAL(); 00043 virtual ~CAMPO_VECTORIAL(); 00044 virtual VECTOR valor(VECTOR posicion) = 0; 00045 }; 00046 00047 class CAMPO_V_CONSTANTE : public CAMPO_VECTORIAL 00048 { 00049 private: 00050 VECTOR _valor; 00051 public: 00052 CAMPO_V_CONSTANTE(VECTOR val_inic); 00053 virtual ~CAMPO_V_CONSTANTE(); 00054 VECTOR valor(VECTOR posicion); 00055 void set_valor(VECTOR nuevo_valor); 00056 }; 00057 00058 class CAMPO_V_ALMACENADO : public CAMPO_VECTORIAL 00059 { 00060 private: 00061 VECTOR ***DATa; 00062 VECTOR escala; 00063 VECTOR offset; 00064 int x_tam; 00065 int y_tam; 00066 int z_tam; 00067 public: 00068 CAMPO_V_ALMACENADO(char *archivo, VECTOR min, VECTOR max); 00069 CAMPO_V_ALMACENADO(int x, int y, int z, VECTOR min, VECTOR max); 00070 virtual ~CAMPO_V_ALMACENADO(); 00071 VECTOR valor(VECTOR posicion); 00072 void cambiar_posicion(int i, int j, int k, VECTOR nuevo_valor); 00073 void elim(void); 00074 BOOLEAN leer(char *archivo); 00075 BOOLEAN grabar(char *archivo); 00076 }; 00077 00078 class CAMPO_ESCALAR : public CAMPO 00079 { 00080 private: 00081 public: 00082 }; 00083 00084 #endif // __CAMPO__ 00085 00086 //=========================================================================== 00087 //= EOF = 00088 //=========================================================================== 00089