Referencia de la Clase GDT::Nodo::Colisiones3D

Colisiones en el Espacio. Más...

Diagrama de herencias de GDT::Nodo::Colisiones3D

Inheritance graph
[leyenda]
Diagrama de colaboración para GDT::Nodo::Colisiones3D:

Collaboration graph
[leyenda]
Lista de todos los miembros.

Métodos públicos

_GDT_EXPORT_ void ActualizarDatosColision ()
_GDT_EXPORT_ void AsignarDatosColision (Escenario scen)
 Establece datos de colision con un nuevo Escenario.
_GDT_EXPORT_ void AsignarDatosColision (ITriangleSelector *nuevoMundo)
 Establece datos de colision con un nuevo Escenario.
_GDT_EXPORT_ void AsignarGravedad (float x, float y, float z)
 Establece la gravedad del elipsoide con un coordenadas.
_GDT_EXPORT_ void AsignarGravedad (core::vector3df vector_3d)
 Establece la gravedad del elipsoide con un vector.
_GDT_EXPORT_ void AsignarRadioElipsoide (float x, float y, float z)
 Establece los radios del elipsoide con un coordenadas.
_GDT_EXPORT_ void AsignarRadioElipsoide (core::vector3df vector_3d)
 Establece los radios del elipsoide con un vector.
_GDT_EXPORT_ void AsignarTraslacionElipsoide (float x, float y, float z)
 Establece la traslación del elipsoide con un coordenadas.
_GDT_EXPORT_ void AsignarTraslacionElipsoide (core::vector3df vector_3d)
 Establece la traslación del elipsoide con un vector.
_GDT_EXPORT_ bool Callendo ()
 Obtiene el estado de "caida" del nodo.
_GDT_EXPORT_ bool Colisiona (NodoBase nodocoli)
 Comprueba si el Nodo colisiona con otro Nodo.
_GDT_EXPORT_ bool ColisionConCaja (aabbox3d< f32 > Cajon)
 Comprueba si el Nodo colisiona con una caja.
_GDT_EXPORT_ bool ColisionConEscenario (ITriangleSelector *trian)
 Comprueba si el Nodo colisiona con el Escenario.
_GDT_EXPORT_ bool ColisionConEscenario (Escenario scen)
 Comprueba si el Nodo colisiona con el Escenario.
_GDT_EXPORT_ bool ColisionConRayo (vector3df ini, vector3df fin, ITriangleSelector *trian)
 Comprueba si el Nodo colisiona con un rayo.
_GDT_EXPORT_ Colisiones3D ()
_GDT_EXPORT_ void CrearColision (Escenario scen, float RadioX, float RadioY, float RadioZ, float GravedadX, float GravedadY, float GravedadZ, float TraslacionX, float TraslacionY, float TraslacionZ)
 Crea un sistema de colisiones avanzado con un Escenario, usando coordenadas.
_GDT_EXPORT_ void CrearColision (Escenario scen, core::vector3df Radio, core::vector3df Gravedad, core::vector3df Traslacion)
 Crea un sistema de colisiones avanzado con un Escenario, usando vectores.
_GDT_EXPORT_ void CrearColision (Escenario scen)
 Crea un sistema de colisiones sencillo con un Escenario.
_GDT_EXPORT_ void CrearColision (ITriangleSelector *selector, float RadioX, float RadioY, float RadioZ, float GravedadX, float GravedadY, float GravedadZ, float TraslacionX, float TraslacionY, float TraslacionZ)
_GDT_EXPORT_ void CrearColision (ITriangleSelector *Mundo, core::vector3df Radio, core::vector3df Gravedad, core::vector3df Traslacion)
_GDT_EXPORT_ void CrearColision (ITriangleSelector *Mundo)
 Crea un sistema de colisiones sencillo con un Escenario.
_GDT_EXPORT_ vector3df PosicionColisionConEscenario (ITriangleSelector *trian)
 Obtiene la posición donde colisiona el Nodo con el Escenario.
_GDT_EXPORT_ vector3df PosicionColisionConEscenario (Escenario scen)
 Obtiene la posición donde colisiona el Nodo con el Escenario.
_GDT_EXPORT_ aabbox3d< f32 > RetornarCaja ()
 Obtiene una caja que rodea al Nodo.
_GDT_EXPORT_ ITriangleSelector * RetornarDatosMundo ()
 Obtiene los datos del Escenario.
_GDT_EXPORT_ core::vector3df RetornarGravedad ()
 Obtiene la gravedad en cada eje.
_GDT_EXPORT_ vector3df RetornarInterseccionRayo (vector3df ini, vector3df fin, ITriangleSelector *trian)
 Obtiene el punto en donde se intersectan un rayo y el Escenario.
_GDT_EXPORT_ vector3df RetornarInterseccionRayo (vector3df ini, vector3df fin, Escenario scen)
 Obtiene el punto en donde se intersectan un rayo y el Escenario.
_GDT_EXPORT_ core::vector3df RetornarRadioElipsoide ()
 Obtiene los radios del elipsoide.
_GDT_EXPORT_ core::vector3df RetornarTraslacionElipsoide ()
 Obtiene las traslaciones del elipsoide.
_GDT_EXPORT_ ~Colisiones3D ()

Atributos públicos

bool AntiBug
bool coli
ISceneNode * DummyNodo
vector3df posmiacoli
vector3df resultado
vector3df vfin

Atributos protegidos

ITriangleSelector * selector

Descripción detallada

Colisiones en el Espacio.

Clase Colisiones 3d para mallas.

De ahora en adelante, se tratará como "el Nodo" al objeto que se sea instanciado a partir de esta clase o una clase hija.

Por ejemplo Así:

 #include <gdt.h>

 Sistema MiSistema;
 Malla Nodo;

 int main {

   // el resto del programa

  return 0;
 }

A su vez, cualquier dato de tipo "ITriangleSelector" se le llamara Escenario.

Cabe distinguir la diferencia, ya que Escenario es una clase de GDT, e ITriangleSelector es un tipo definido en el motor gráfico Irrlicht. Sin embargo, estan relacionados, ya que el Escenario es una propiedad de Escenario, así que si en algun caso hace falta, se puede obtener el ITriangleSelector desde el Escenario, o asignarle un ITriangleSelector desde afuera.


Documentación del constructor y destructor

GDT::Nodo::Colisiones3D::Colisiones3D (  ) 

GDT::Nodo::Colisiones3D::~Colisiones3D (  ) 


Documentación de las funciones miembro

void GDT::Nodo::Colisiones3D::ActualizarDatosColision (  ) 

Si se han cambiado los valores de colisi�, tales como: Radio, Gravedad o Traslacion, con este método se recrea el valor de la animacion.

void GDT::Nodo::Colisiones3D::AsignarDatosColision ( Escenario  scen  ) 

Establece datos de colision con un nuevo Escenario.

Parámetros:
scen es el Escenario que se reemplazara.

_GDT_EXPORT_ void GDT::Nodo::Colisiones3D::AsignarDatosColision ( ITriangleSelector *  nuevoMundo  ) 

Establece datos de colision con un nuevo Escenario.

void GDT::Nodo::Colisiones3D::AsignarGravedad ( float  x,
float  y,
float  z 
)

Establece la gravedad del elipsoide con un coordenadas.

Parámetros:
x,y,z son la gravedad en cada eje.

void GDT::Nodo::Colisiones3D::AsignarGravedad ( core::vector3df  vector_3d  ) 

Establece la gravedad del elipsoide con un vector.

Parámetros:
vector_3d vector cuyas componentes son la gravedad en cada eje.

void GDT::Nodo::Colisiones3D::AsignarRadioElipsoide ( float  x,
float  y,
float  z 
)

Establece los radios del elipsoide con un coordenadas.

Parámetros:
x,y,z son los radios del elipsoide.

void GDT::Nodo::Colisiones3D::AsignarRadioElipsoide ( core::vector3df  vector_3d  ) 

Establece los radios del elipsoide con un vector.

Parámetros:
vector_3d vector cuyas componentes son los radios del elipsoide.

void GDT::Nodo::Colisiones3D::AsignarTraslacionElipsoide ( float  x,
float  y,
float  z 
)

Establece la traslación del elipsoide con un coordenadas.

Parámetros:
x,y,z son las traslaciones del elipsoide.

void GDT::Nodo::Colisiones3D::AsignarTraslacionElipsoide ( core::vector3df  vector_3d  ) 

Establece la traslación del elipsoide con un vector.

Parámetros:
vector_3d vector cuyas componentes son las traslaciones del elipsoide.

bool GDT::Nodo::Colisiones3D::Callendo (  ) 

Obtiene el estado de "caida" del nodo.

Devuelve:
true si el Nodo está cayendo (no está apoyado sobre el escenario)

bool GDT::Nodo::Colisiones3D::Colisiona ( NodoBase  nodocoli  ) 

Comprueba si el Nodo colisiona con otro Nodo.

Parámetros:
nodocoli es el NodoBase con el que estamos comparando la colisi�.
Devuelve:
true si esta colisionando con otro objeto.
Esta colisi� se calcula mediante boundingboxes.

Ejemplo:

 Colision = Protagonista.Colisiona( Enemigo );

bool GDT::Nodo::Colisiones3D::ColisionConCaja ( aabbox3d< f32 >  Cajon  ) 

Comprueba si el Nodo colisiona con una caja.

bool GDT::Nodo::Colisiones3D::ColisionConEscenario ( ITriangleSelector *  trian  ) 

Comprueba si el Nodo colisiona con el Escenario.

Devuelve:
true si esta colisionando el objeto con el escenario, o false en caso contrario.

bool GDT::Nodo::Colisiones3D::ColisionConEscenario ( Escenario  scen  ) 

Comprueba si el Nodo colisiona con el Escenario.

Parámetros:
scen es el Escenario
Devuelve:
true si esta colisionando el objeto con el escenario, o false en caso contrario.
Ejemplo:
 Colision = Protagonista.ColisionConEscenario( Escenario ):

bool GDT::Nodo::Colisiones3D::ColisionConRayo ( vector3df  ini,
vector3df  fin,
ITriangleSelector *  trian 
)

Comprueba si el Nodo colisiona con un rayo.

Parámetros:
ini el vector del punto inicial del rayo.
fin el vector del punto final del rayo.
trian el escenario.
Devuelve:
true si esta colisionando el objeto con el rayo, o false en caso contrario.

void GDT::Nodo::Colisiones3D::CrearColision ( Escenario  scen,
float  RadioX,
float  RadioY,
float  RadioZ,
float  GravedadX,
float  GravedadY,
float  GravedadZ,
float  TraslacionX,
float  TraslacionY,
float  TraslacionZ 
)

Crea un sistema de colisiones avanzado con un Escenario, usando coordenadas.

Parámetros:
scen es el escenario (un Escenario)
RadioX,RadioY,RadioZ 
GravedadX,GravedadY,GravedadZ fuerza de gravedad en cada componente. Si no se desea dejar en ceros.
TraslacionX,TraslacionY,TraslacionZ coordenadas de la posici� de la elipse con respecto al objeto.
Ejemplo:
 Protagonista.CrearColision( Escenario,1,1,1,0,-0.1,0,0,0,0 );

void GDT::Nodo::Colisiones3D::CrearColision ( Escenario  scen,
core::vector3df  Radio,
core::vector3df  Gravedad,
core::vector3df  Traslacion 
)

Crea un sistema de colisiones avanzado con un Escenario, usando vectores.

Parámetros:
scen es el escenario.
Radio los radios de la elipse.
Gravedad si no se desea dejar en ceros.
Traslacion la posici� de la elipse con respecto al objeto
Crea un sistema de colisiones entre una elipse y un Escenario con su respuesta, es decir, evita automáticamente que traspase polígonos y demás respuestas. Incluye también gravedad.

Ejemplo:

 Protagonista.CrearColision(
   Escenario,
   vectElipse,
   vectGravedad,
   vectTranslacionElipse
 );

void GDT::Nodo::Colisiones3D::CrearColision ( Escenario  scen  ) 

Crea un sistema de colisiones sencillo con un Escenario.

Parámetros:
scen es un Escenario
Crea un sistema de colisiones entre una elipse y un Escenario con su respuesta, es decir, evita automáticamente que traspase polígonos y demás respuestas. Incluye también gravedad.

Ejemplo:

 Protagonista.CrearColision( Escenario );

void GDT::Nodo::Colisiones3D::CrearColision ( ITriangleSelector *  selector,
float  RadioX,
float  RadioY,
float  RadioZ,
float  GravedadX,
float  GravedadY,
float  GravedadZ,
float  TraslacionX,
float  TraslacionY,
float  TraslacionZ 
)

Con este método se puede hacer que el nodo al colisionar con un Escenario tenga la respuesta de colisión automáticamente es decir no traspase el polígono, cambie la dirección del movimiento, etc., es un completo sistema de colisiones con su respuesta incluyendo gravedad.

Parámetros:
selector son los datos de colisión del Escenario se obtienen con Escenario::RetornarDatos().
RadioX,RadioY,RadioZ 
GravedadX,GravedadY,GravedadZ fuerza de gravedad en cada componente. Si no se desea dejar en ceros.
TraslacionX,TraslacionY,TraslacionZ coordenadas de la posici� de la elipse con respecto al objeto.

Reimplementado de GDT::Nodo::NodoBase.

void GDT::Nodo::Colisiones3D::CrearColision ( ITriangleSelector *  Mundo,
core::vector3df  Radio,
core::vector3df  Gravedad,
core::vector3df  Traslacion 
)

Con este método se puede hacer que el nodo al colisionar con un Escenario tenga la respuesta de colisión automáticamente es decir no traspase el polígono, cambie la dirección del movimiento, etc., es un completo sistema de colisiones con su respuesta incluyendo gravedad.

Parámetros:
Mundo son los datos de colisión del Escenario se obtienen con. Escenario::RetornarDatos().
Radio vector con los radio del elipsoide que colisiona con el Escenario.
Traslacion vector de la translación de dicho elipse.
Gravedad vector de la gravedad en cada eje, si no se desea usar gravedad simplemente se dejan en ceros.

void GDT::Nodo::Colisiones3D::CrearColision ( ITriangleSelector *  Mundo  ) 

Crea un sistema de colisiones sencillo con un Escenario.

Colisiones simples con el Escenario, con valores predeterminados.

vector3df GDT::Nodo::Colisiones3D::PosicionColisionConEscenario ( ITriangleSelector *  trian  ) 

Obtiene la posición donde colisiona el Nodo con el Escenario.

vector3df GDT::Nodo::Colisiones3D::PosicionColisionConEscenario ( Escenario  scen  ) 

Obtiene la posición donde colisiona el Nodo con el Escenario.

Parámetros:
scen es el Escenario
Devuelve:
la posici� en donde esta colisionando el objeto con el escenario.
Ejemplo:
 PosColision = Protagonista. PosicionColisionConEscenario ( Escenario ):

aabbox3d< f32 > GDT::Nodo::Colisiones3D::RetornarCaja (  ) 

Obtiene una caja que rodea al Nodo.

ITriangleSelector * GDT::Nodo::Colisiones3D::RetornarDatosMundo (  ) 

Obtiene los datos del Escenario.

core::vector3df GDT::Nodo::Colisiones3D::RetornarGravedad (  ) 

Obtiene la gravedad en cada eje.

Devuelve:
un vector, cuyas componentes son la gravedad en cada eje

vector3df GDT::Nodo::Colisiones3D::RetornarInterseccionRayo ( vector3df  ini,
vector3df  fin,
ITriangleSelector *  trian 
)

Obtiene el punto en donde se intersectan un rayo y el Escenario.

Parámetros:
ini el vector del punto inicial del rayo.
fin el vector del punto final del rayo.
trian el escenario.
Devuelve:
el punto en donde se intersecci�.

vector3df GDT::Nodo::Colisiones3D::RetornarInterseccionRayo ( vector3df  ini,
vector3df  fin,
Escenario  scen 
)

Obtiene el punto en donde se intersectan un rayo y el Escenario.

Devuelve:
el punto en donde se intersecci�.
Parámetros:
ini el vector del punto inicial del rayo.
fin el vector del punto final del rayo.
scen el escenario

core::vector3df GDT::Nodo::Colisiones3D::RetornarRadioElipsoide (  ) 

Obtiene los radios del elipsoide.

Devuelve:
un vector, cuyas componentes son los radios del elipsoide.

core::vector3df GDT::Nodo::Colisiones3D::RetornarTraslacionElipsoide (  ) 

Obtiene las traslaciones del elipsoide.

Devuelve:
un vector, cuyas componentes son las traslaciones del elipsoide.


Documentación de los datos miembro

bool GDT::Nodo::Colisiones3D::AntiBug

bool GDT::Nodo::Colisiones3D::coli

ISceneNode* GDT::Nodo::Colisiones3D::DummyNodo

vector3df GDT::Nodo::Colisiones3D::posmiacoli

vector3df GDT::Nodo::Colisiones3D::resultado

ITriangleSelector* GDT::Nodo::Colisiones3D::selector [protected]

vector3df GDT::Nodo::Colisiones3D::vfin


Generado el Mon Aug 20 00:55:22 2007 para Game Developers Toolkit por  doxygen 1.5.1