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_SECTOR

Un _BSP2D_SECTOR es un polígono cuyas aristas son _BSP2D_SEGMENTOi s. Más...

#include <bsp_2d.h>

Diagrama de colaboración para _BSP2D_SECTOR:

Collaboration graph
[leyenda]
Lista de todos los miembros.

Métodos públicos

 _BSP2D_SECTOR ()
BOOLEAN altura (double x, double y, double *Altura)
void importe_wad (BSP_2D *pp, WAD_LEVEL *Nivel_wad, long int pos)
void pintar_gl_3D (CALIDAD_VISUAL *Calidad)
 Una nota respecto a las texturas: Cada pixel representa un area de 2x2 cm (4cm^2).

void triangularize (void)
 Dado que un sector es una cara plana en un modelo de un solido basado por la frontera, este metodo lo parte a punta de triangulos.


Atributos privados

WORD id
WORD altura_piso
WORD altura_techo
double min_x
double min_y
double max_x
double max_y
BSP_2DPadre
char textura_piso [9]
char textura_techo [9]
int textura_piso_id
int textura_techo_id
long int num_triangulos
double * Triangulos
BOOLEAN marcado
BOOLEAN con_paredes
long int pos

Amigas

class _BSP2D_PARED
class _BSP2D_HOJA
class _BSP2D_SEGMENTOi
class BSP_2D

Descripción detallada

Un _BSP2D_SECTOR es un polígono cuyas aristas son _BSP2D_SEGMENTOi s.

Como la geometría BREP de este modelo de representación es de 2 dimensiones y media, un sector es la base de un volumen que es un prisma recto, que empieza en z=altura_piso y termina en z=altura_techo.

Las texturas de las paredes del volumen están representadas en la clase _BSP2D_PARED (la cual se accesa por medio de los segmentos y arcos). El _BSP2D_SECTOR posee las texturas del piso y del techo del prisma.

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


Documentación del constructor y destructor

_BSP2D_SECTOR::_BSP2D_SECTOR  ) 
 

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

References con_paredes, y marcado.


Documentación de las funciones miembro

BOOLEAN _BSP2D_SECTOR::altura double  x,
double  y,
double *  Altura
 

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

References altura_piso, max_x, max_y, num_triangulos, VECTOR::producto_cruz(), Triangulos, VECTOR::x, VECTOR::y, y VECTOR::z.

Referenciado por BSP_2D::altura().

Here is the call graph for this function:

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

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

References altura_piso, altura_techo, BYTE, BSP_2D::deme_flat(), id, WAD_ENTITY::offset, Padre, pos, WAD_LEVEL::Sectors, WAD_ENTITY::size, textura_piso, textura_piso_id, textura_techo, textura_techo_id, y WAD_LEVEL::wad_fd.

Referenciado por BSP_2D::importe_wadlevel().

Here is the call graph for this function:

void _BSP2D_SECTOR::pintar_gl_3D CALIDAD_VISUAL Calidad  ) 
 

Una nota respecto a las texturas: Cada pixel representa un area de 2x2 cm (4cm^2).

Si las unidades flotantes usadas son los metros, las texturas de el piso y el techo deberan escalarse por FT metros, ya que son de 64x64 pixels.

OJO: Toca revisar bien el mapeo de coordenadas de las texturas porque no estan empatando... Sera que son relativas a coordenadas locales del sector?

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

References altura_piso, altura_techo, CALIDAD_VISUAL::con_caras, con_paredes, CALIDAD_VISUAL::con_textura, BSP_2D::flats, marcado, BSP_2D::num_paredes, num_triangulos, Padre, BSP_2D::Paredes, _BSP2D_PARED::pintar_gl_3D(), pos, PRIMITIVA_triangulos, _BSP2D_PARED::sector_id, textura_piso_id, textura_techo_id, y Triangulos.

Referenciado por BSP_2D::pintar_bsp(), y BSP_2D::pintar_gl_3D().

Here is the call graph for this function:

void _BSP2D_SECTOR::triangularize void   ) 
 

Dado que un sector es una cara plana en un modelo de un solido basado por la frontera, este metodo lo parte a punta de triangulos.

Es importante notar que los sectores pueden contener contornos interiores, los cuales deben detectarse a partir de una lista desordenada de arcos que componen este sector. Se utiliza un algoritmo de triangularizacion de contornos de Raimund Seidel, publicado en su articulo "A simple and fast incremental randomized algorithm for computing trapezoidal decompositions and for triangulating polygons, Computational Geometry Theory & Applications, 1991" y una adaptacion de la implementacion de Narkhede A. and Manocha D., "Fast polygon triangulation algorithm based on Seidel's Algorithm, UNC-CH, 1994.".

OJO: La parte de este algoritmo que detecta los contornos ha sido derivada por Oscar J. Chavarro -JEDILINK-, oscarchavarro@hotmail.com. Aunque parece funcionar bien, no posee una demostracion, en particular, de que sea una solucion optimal al problema. Seria interesante aplicarle "artilleria pesada" y verificarla formalmente. Se propone generalizarlo a 3D para incluirlo en la visualizacion poligonal de modelos basados en la frontera (BREP's).

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

References LISTA< _BSP2D_ARCO * >::anx(), LISTA< T >::anx(), _BSP2D_PARED::Arco_padre, _BSP2D_CONTORNOi::arcos, _BSP2D_ARCO::Der, LISTA< _BSP2D_ARCO * >::elimElem(), LISTA< T >::elimElem(), max_x, max_y, min_x, min_y, BSP_2D::num_paredes, num_triangulos, Padre, BSP_2D::Paredes, pos, _BSP2D_PARED::sector_id, LISTA< _BSP2D_ARCO * >::tam(), LISTA< T >::tam(), triangularice_cara(), Triangulos, _BSP2D_ARCO::v_destino, _BSP2D_ARCO::v_origen, BSP_2D::Vertices, WORD, _BSP2D_VERTICEi::x, y _BSP2D_VERTICEi::y.

Referenciado por BSP_2D::importe_wadlevel().

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 237 del archivo bsp_2d.h.

friend class _BSP2D_PARED [friend]
 

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

friend class _BSP2D_SEGMENTOi [friend]
 

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

friend class BSP_2D [friend]
 

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


Documentación de los datos miembro

WORD _BSP2D_SECTOR::altura_piso [private]
 

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

Referenciado por altura(), _BSP2D_HOJA::altura_cuadro(), importe_wad(), y pintar_gl_3D().

WORD _BSP2D_SECTOR::altura_techo [private]
 

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

Referenciado por importe_wad(), y pintar_gl_3D().

BOOLEAN _BSP2D_SECTOR::con_paredes [private]
 

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

Referenciado por _BSP2D_SECTOR(), BSP_2D::pintar_bsp(), BSP_2D::pintar_gl(), pintar_gl_3D(), y BSP_2D::pintar_gl_3D_wireframe().

WORD _BSP2D_SECTOR::id [private]
 

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

Referenciado por importe_wad().

BOOLEAN _BSP2D_SECTOR::marcado [private]
 

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

Referenciado por _BSP2D_SECTOR(), BSP_2D::pintar_bsp(), BSP_2D::pintar_gl(), pintar_gl_3D(), y BSP_2D::pintar_gl_3D_wireframe().

double _BSP2D_SECTOR::max_x [private]
 

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

Referenciado por altura(), y triangularize().

double _BSP2D_SECTOR::max_y [private]
 

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

Referenciado por altura(), y triangularize().

double _BSP2D_SECTOR::min_x [private]
 

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

Referenciado por triangularize().

double _BSP2D_SECTOR::min_y [private]
 

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

Referenciado por triangularize().

long int _BSP2D_SECTOR::num_triangulos [private]
 

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

Referenciado por altura(), pintar_gl_3D(), y triangularize().

BSP_2D* _BSP2D_SECTOR::Padre [private]
 

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

Referenciado por importe_wad(), pintar_gl_3D(), y triangularize().

long int _BSP2D_SECTOR::pos [private]
 

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

Referenciado por importe_wad(), pintar_gl_3D(), y triangularize().

char _BSP2D_SECTOR::textura_piso[9] [private]
 

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

Referenciado por importe_wad().

int _BSP2D_SECTOR::textura_piso_id [private]
 

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

Referenciado por importe_wad(), y pintar_gl_3D().

char _BSP2D_SECTOR::textura_techo[9] [private]
 

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

Referenciado por importe_wad().

int _BSP2D_SECTOR::textura_techo_id [private]
 

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

Referenciado por importe_wad(), y pintar_gl_3D().

double* _BSP2D_SECTOR::Triangulos [private]
 

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

Referenciado por altura(), pintar_gl_3D(), y triangularize().


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.