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

Referencia de la Clase _BSP2D_SEGMENTOi

Un segmento es un trozo de pared que hace parte de un _BSP2D_SECTOR. Más...

#include <bsp_2d.h>

Diagrama de colaboración para _BSP2D_SEGMENTOi:

Collaboration graph
[leyenda]
Lista de todos los miembros.

Métodos públicos

 _BSP2D_SEGMENTOi ()
void importe_wad (BSP_2D *pp, WAD_LEVEL *Nivel_wad, long int pos)
void pintar_gl_2D (double angulo_camara)
 Este metodo se encarga de generar las primitivas OpenGL necesarias para visualizar un segmento en 2D (traza una recta para el segmento).

void pintar_gl_3D (CALIDAD_VISUAL *Calidad, double angulo_camara)
 Este metodo sigue la misma logica de `pintar_gl_2D`.

void anexe_vertices (LISTA< _BSP2D_VERTICEi * > *Vertices)
 Anexa a la lista de Vertices los vertices de este segmento.


Atributos privados

BSP_2DPadre
WORD sector_id
WORD v_origen
WORD v_destino
WORD angulo
WORD arco_i
WORD direccion
WORD offset
double angulo_recta
_BSP2D_PAREDPared

Amigas

class _BSP2D_SECTOR
class _BSP2D_HOJA

Descripción detallada

Un segmento es un trozo de pared que hace parte de un _BSP2D_SECTOR.

Definición en la línea 165 del archivo bsp_2d.h.


Documentación del constructor y destructor

_BSP2D_SEGMENTOi::_BSP2D_SEGMENTOi  ) 
 

Definición en la línea 382 del archivo bsp_2d.C.

References angulo_recta.


Documentación de las funciones miembro

void _BSP2D_SEGMENTOi::anexe_vertices LISTA< _BSP2D_VERTICEi * > *  Vertices  ) 
 

Anexa a la lista de Vertices los vertices de este segmento.

Este es un paso de un algoritmo de triangulacion de subsectores convexos (_BSP2D_HOJA)

Definición en la línea 683 del archivo bsp_2d.C.

References LISTA< T >::anx(), Padre, v_destino, v_origen, y BSP_2D::Vertices.

Here is the call graph for this function:

void _BSP2D_SEGMENTOi::importe_wad BSP_2D pp,
WAD_LEVEL Nivel_wad,
long int  pos
 

Definición en la línea 388 del archivo bsp_2d.C.

References angulo, angulo_recta, arco_i, BSP_2D::Arcos, direccion, offset, WAD_ENTITY::offset, Padre, Pared, _BSP2D_PARED::sector_id, sector_id, WAD_LEVEL::Segs, WAD_ENTITY::size, v_destino, v_origen, y WAD_LEVEL::wad_fd.

Referenciado por BSP_2D::importe_wadlevel().

void _BSP2D_SEGMENTOi::pintar_gl_2D double  angulo_camara  ) 
 

Este metodo se encarga de generar las primitivas OpenGL necesarias para visualizar un segmento en 2D (traza una recta para el segmento).

Este metodo posee tres etapas:

  • Filtrado: No siempre se pintan los segmentos... solo se pintan los que son posible ser vistos desde una camara ubicada con una orientacion de `angulo_camara` y con un campo de vision `fov`. Este procedimiento se conoce como "back-face culling".
  • Generacion de vectores guia (opcional): como una ayuda para la visuali- zacion de la estructura BREP del BSP, este metodo genera una serie de vectores que indican su orientacion y otros detalles utiles para el mantenimiento de esta clase.
  • Pintado de la recta que define el segmento: es la razon de ser de este metodo y en lo que menos invierte (!)

Esta version del pintado de un segmento (llamada "2D") genera segmentos de recta y esta disennada para ayudar al desarrollo y mantenimiento de esta estructura BSP. La version `pintar_gl_3D` genera poligonos, y es la que hace el trabajo a la hora del uso de la estructura por parte del usuario.

Definición en la línea 458 del archivo bsp_2d.C.

References angulo, angulo_recta, NUM_poligonos, BSP_2D::num_vertices, Padre, v_destino, v_origen, BSP_2D::Vertices, _BSP2D_VERTICEi::x, y _BSP2D_VERTICEi::y.

Referenciado por _BSP2D_HOJA::pintar_gl_2D().

void _BSP2D_SEGMENTOi::pintar_gl_3D CALIDAD_VISUAL Calidad,
double  angulo_camara
 

Este metodo sigue la misma logica de `pintar_gl_2D`.

Observe la documentacion de ese metodo para mayor informacion. La diferencia entre los dos metodos es que este genera poligonos, y el otro segmentos de recta.

Definición en la línea 554 del archivo bsp_2d.C.

References _BSP2D_PARED::altura1, _BSP2D_PARED::altura2, angulo_recta, arco_i, BSP_2D::Arcos, _BSP2D_PARED::Del_otro_lado, _BSP2D_PARED::dx, _BSP2D_PARED::dy, _BSP2D_PARED::n, NUM_poligonos, Padre, Pared, PRIMITIVA_cuadros, sector_id, BSP_2D::Sectores, BSP_2D::sprites, _BSP2D_PARED::textura_inferior_id, _BSP2D_PARED::textura_media_id, _BSP2D_PARED::textura_superior_id, v_destino, v_origen, BSP_2D::Vertices, WORD, VECTOR::x, IMAGEN::xtam(), VECTOR::y, IMAGEN::ytam(), y VECTOR::z.

Referenciado por _BSP2D_HOJA::pintar_gl_3D().

Here is the call graph for this function:


Documentación de las funciones relacionadas y clases amigas

friend class _BSP2D_HOJA [friend]
 

Definición en la línea 186 del archivo bsp_2d.h.

friend class _BSP2D_SECTOR [friend]
 

Definición en la línea 185 del archivo bsp_2d.h.


Documentación de los datos miembro

WORD _BSP2D_SEGMENTOi::angulo [private]
 

Definición en la línea 177 del archivo bsp_2d.h.

Referenciado por importe_wad(), y pintar_gl_2D().

double _BSP2D_SEGMENTOi::angulo_recta [private]
 

Definición en la línea 182 del archivo bsp_2d.h.

Referenciado por _BSP2D_SEGMENTOi(), importe_wad(), pintar_gl_2D(), y pintar_gl_3D().

WORD _BSP2D_SEGMENTOi::arco_i [private]
 

Definición en la línea 178 del archivo bsp_2d.h.

Referenciado por importe_wad(), y pintar_gl_3D().

WORD _BSP2D_SEGMENTOi::direccion [private]
 

Definición en la línea 179 del archivo bsp_2d.h.

Referenciado por importe_wad().

WORD _BSP2D_SEGMENTOi::offset [private]
 

Definición en la línea 180 del archivo bsp_2d.h.

Referenciado por importe_wad().

BSP_2D* _BSP2D_SEGMENTOi::Padre [private]
 

Definición en la línea 171 del archivo bsp_2d.h.

Referenciado por anexe_vertices(), importe_wad(), pintar_gl_2D(), y pintar_gl_3D().

_BSP2D_PARED* _BSP2D_SEGMENTOi::Pared [private]
 

Definición en la línea 183 del archivo bsp_2d.h.

Referenciado por importe_wad(), y pintar_gl_3D().

WORD _BSP2D_SEGMENTOi::sector_id [private]
 

Definición en la línea 172 del archivo bsp_2d.h.

Referenciado por importe_wad(), y pintar_gl_3D().

WORD _BSP2D_SEGMENTOi::v_destino [private]
 

Definición en la línea 175 del archivo bsp_2d.h.

Referenciado por anexe_vertices(), importe_wad(), pintar_gl_2D(), y pintar_gl_3D().

WORD _BSP2D_SEGMENTOi::v_origen [private]
 

Definición en la línea 174 del archivo bsp_2d.h.

Referenciado por anexe_vertices(), importe_wad(), pintar_gl_2D(), y pintar_gl_3D().


La documentación para esta clase fué generada a partir de los siguientes archivos:
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.