Compartir a través de


Función gluTessProperty

La función gluTessProperty establece la propiedad de un objeto de teselación.

Sintaxis

void WINAPI gluTessProperty(
   GLUtesselator *tess,
   GLenum        which,
   GLdouble      value
);

Parámetros

Tess

Objeto de teselación (creado con gluNewTess).

Que

Valor de la propiedad que se establecerá. Los valores siguientes son válidos: GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY y GLU_TESS_TOLERANCE.

Value Significado
GLU_TESS_WINDING_RULE
Determina qué partes del polígono se encuentran en el interior. El parámetro value se puede establecer en uno de los siguientes: GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE o GLU_TESS_WINDING_ABS_GEQ_TWO.
Para comprender cómo funciona la regla de devanado, primero tenga en cuenta que los contornos de entrada dividen el plano en regiones. La regla de devanado determina cuáles de estas regiones están dentro del polígono.
Para un solo contorno C, el número de devanado de un punto x es simplemente el número firmado de revoluciónes que hacemos alrededor de x a medida que viajamos una vez alrededor de C (donde el sentido contrario a las agujas del reloj es positivo). Cuando hay varios contornos, se suman los números de viento individuales. Este procedimiento asocia un valor entero con signo a cada punto x del plano. Tenga en cuenta que el número de viento es el mismo para todos los puntos de una sola región.
La regla de devanado clasifica una región como "dentro" si su número de devanado pertenece a la categoría elegida (impar, distinto de cero, positivo, negativo o absoluto de al menos dos). El teselador GLU anterior (antes de GLU 1.2) usó la regla "impar". La regla "distinto de cero" (GLU_TESS_WINDING_NONZERO) es otra manera común de definir el interior. Las otras tres reglas (GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE, GLU_TESS_WINDING_ABS_GEQ_TWO) son útiles para las operaciones de CSG de polígono.
GLU_TESS_BOUNDARY_ONLY
Especifica un valor booleano (establezca el valor en GL_TRUE o GL_FALSE). Cuando se establece el valor en GL_TRUE, se devuelve un conjunto de contornos cerrados que separan el interior del polígono y el exterior en lugar de una teselación. Los contornos exteriores están orientados en sentido contrario a las agujas del reloj con respecto a la normal; Los contornos interiores están orientados a las agujas del reloj. Las devoluciones de llamada GLU_TESS_BEGIN y GLU_TESS_BEGIN_DATA usan el tipo GL_LINE_LOOP para cada contorno.
GLU_TESS_TOLERANCE
Especifica una tolerancia para combinar características para reducir el tamaño de la salida. Por ejemplo, dos vértices que están muy cerca entre sí podrían reemplazarse por un solo vértice. La tolerancia se multiplica por la magnitud de coordenadas más grande de cualquier vértice de entrada; especifica la distancia máxima que cualquier característica puede moverse como resultado de una sola operación de combinación. Si una sola característica participa en varias operaciones de combinación, la distancia total movida puede ser mayor.
La combinación de características es completamente opcional; la tolerancia es solo una sugerencia. La implementación es libre de combinar en algunos casos y no en otros, o nunca combinar características en absoluto. La tolerancia predeterminada es cero.
La implementación actual combina vértices solo si coinciden exactamente, independientemente de la tolerancia actual. Un vértice se inserta en un borde solo si la implementación no puede distinguir en qué lado del borde se encuentra el vértice. Solo se combinan dos bordes cuando ambos puntos de conexión son idénticos.

value

Valor de la propiedad indicada.

Valor devuelto

Esta función no devuelve ningún valor.

Observaciones

La función gluTessProperty controla las propiedades almacenadas en un objeto de teselación. Estas propiedades afectan a la forma en que se interpretan y representan los polígonos.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Glu.h
Biblioteca
Glu32.lib
Archivo DLL
Glu32.dll

Consulte también

gluGetTessProperty

gluNewTess