Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

colision.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= colision.h                                                Julio de 1999 =
00003 //=-------------------------------------------------------------------------=
00004 //= Declaraciones de las operaciones utilitarias para la deteccion general  =
00005 //= de colisiones.                                                          =
00006 //=-------------------------------------------------------------------------=
00007 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO   =
00008 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN   =
00009 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES,     = 
00010 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO,        =
00011 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO,  =
00012 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA   =
00013 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES       =
00014 //= ("ACTIVIDADES DE ALGO RIESGO").                                         =
00015 //=-------------------------------------------------------------------------=
00016 //= Autor original: Oscar J. Chavarro G.  A.K.A. JEDILINK. Copyright (c),   =
00017 //= 1997 - 2003, oscarchavarro@hotmail.com                                  =
00018 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia   =
00019 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la  =
00020 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. =
00021 //===========================================================================
00022 
00023 #ifndef __COLISION__
00024 #define __COLISION__
00025 
00026 #include "jed_defs.h"
00027 #include "core/simul/conflicto.h"
00028 
00029 class MINMAX 
00030 /* Clase temporal de prueba. OJO: debe ser eliminada algun dia */
00031 {
00032   public:
00033     RAYO *Rayito;
00034     COLOR color;
00035     VECTOR min;
00036     VECTOR max;
00037     MINMAX();
00038     ~MINMAX();
00039 #ifdef GL_ENABLED
00040     void pintar_gl(void);
00041 #endif
00042 };
00043 
00044 extern LISTA <MINMAX *> TMP_debug_visual;
00045 
00046 class CONTACTO
00051 {
00052   public: // OJO!
00053     COSA *A;  // Una colision en AQUYNZA siempre ocurre en un y solo un punto,
00054     COSA *B;  // el cual siempre es un punto en comun entre dos y solo dos
00055               // COSAs.
00056 
00057     VECTOR p; // Coordenadas del punto de contacto en el sistema de coordenadas
00058               // del mundo
00059 
00060     // OJO: no se supone que las dos normales son de igual direccion?
00061     VECTOR n_a; // Normales a las superficies de las cosas en el punto
00062     VECTOR n_b; // de contacto
00063     double t; // Tiempo estimado hace que la interpenetracion ocurrio
00064 
00065     CONTACTO();
00066     ~CONTACTO();
00067 };
00068 
00069 class MANEJADOR_CONFLICTOS_COLISION : public MANEJADOR_CONFLICTOS {
00070   public:
00071     MANEJADOR_CONFLICTOS_COLISION();
00072     virtual ~MANEJADOR_CONFLICTOS_COLISION();
00073     void detectar_conflictos(LISTA <COSA *> *Cosas, double udt);
00074     void resolver_conflictos(void);
00075 };
00076 
00077 #endif // __COLISION__
00078 
00079 //===========================================================================
00080 //= EOF                                                                     =
00081 //===========================================================================
00082 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.