00001 //=========================================================================== 00002 //= _img_sgi.h Noviembre de 1999 = 00003 //=-------------------------------------------------------------------------= 00004 //= Lector de archivos de imagen en formato SGI RGB. = 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 #include "jed_defs.h" 00023 00024 #ifndef __LSGI__ 00025 #define __LSGI__ 00026 00027 class LECTOR_SGIRGB 00028 { 00029 public: 00030 UWORD imagic; // Encabezado SGIRGB 00031 UWORD type; // OJO: No cambiar el orden, porque esto 00032 UWORD dim; // se usa en un fread(this, ...); 00033 UWORD x_tam, y_tam, sizeZ; 00034 00035 private: 00036 FILE *fd; 00037 unsigned char *tmp[5]; 00038 unsigned long rleEnd; 00039 unsigned long *rowStart; 00040 unsigned long *rowSize; 00041 00042 void leer_linea(unsigned char *buf, int y, int z); 00043 00044 public: 00045 BOOLEAN init(FILE *fd); 00046 void elim(void); 00047 void leer(BYTE *Data); 00048 }; 00049 00050 #endif // __LSGI__ 00051 00052 //=========================================================================== 00053 //= EOF = 00054 //=========================================================================== 00055