funzione gluTessProperty
La funzione gluTessProperty imposta la proprietà di un oggetto a mosaico.
Sintassi
void WINAPI gluTessProperty(
GLUtesselator *tess,
GLenum which,
GLdouble value
);
Parametri
-
Tess
-
Oggetto a mosaico (creato con gluNewTess).
-
Che
-
Valore della proprietà da impostare. I valori seguenti sono validi: GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY e GLU_TESS_TOLERANCE.
Valore Significato - GLU_TESS_WINDING_RULE
Determina quali parti del poligono si trovano nell'interno. Il parametro value può essere impostato su uno dei seguenti: GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE o GLU_TESS_WINDING_ABS_GEQ_TWO.
Per comprendere il funzionamento della regola di avvolgimento, considerare innanzitutto che i contorni di input partizionano il piano in aree. La regola di avvolgimento determina quale di queste aree si trovano all'interno del poligono.
Per un singolo contorno C, il numero di avvolgimento di un punto x è semplicemente il numero firmato di rivoluzioni che facciamo intorno x mentre viaggiamo una volta intorno a C (dove antiorario è positivo). Quando ci sono diversi contorni, i singoli numeri di avvolgimento vengono sommati. Questa procedura associa un valore intero con segno a ogni punto x nel piano. Si noti che il numero di avvolgimento è lo stesso per tutti i punti in una singola area.
La regola di avvolgimento classifica un'area come "all'interno" se il relativo numero di avvolgimento appartiene alla categoria scelta (odd, diverso da zero, positivo, negativo o assoluto di almeno due). Il tassellatore GLU precedente (prima di GLU 1.2) usava la regola "dispari". La regola "diverso da zero" (GLU_TESS_WINDING_NONZERO) è un altro modo comune per definire l'interno. Le altre tre regole (GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE, GLU_TESS_WINDING_ABS_GEQ_TWO) sono utili per le operazioni CSG poligono.- GLU_TESS_BOUNDARY_ONLY
Specifica un valore booleano (impostare il valore su GL_TRUE o GL_FALSE). Quando si imposta il valore su GL_TRUE, viene restituito un set di contorni chiusi che separano l'interno e l'esterno del poligono anziché una tassellatura. I contorni esterni sono orientati in senso antiorario rispetto alla normale; i contorni interni sono orientati in senso orario. I callback GLU_TESS_BEGIN e GLU_TESS_BEGIN_DATA utilizzano il tipo GL_LINE_LOOP per ogni contorno. - GLU_TESS_TOLERANCE
Specifica una tolleranza per l'unione delle funzionalità per ridurre le dimensioni dell'output. Ad esempio, due vertici molto vicini tra loro potrebbero essere sostituiti da un singolo vertice. La tolleranza viene moltiplicata per la grandezza della coordinata più grande di qualsiasi vertice di input; specifica la distanza massima che qualsiasi funzionalità può spostare come risultato di una singola operazione di unione. Se una singola funzionalità partecipa a diverse operazioni di merge, la distanza totale spostata può essere maggiore.
L'unione delle funzionalità è completamente facoltativa; la tolleranza è solo un suggerimento. L'implementazione è gratuita per l'unione in alcuni casi e non in altri o per non unire mai le funzionalità. La tolleranza predefinita è zero.
L'implementazione corrente unisce i vertici solo se sono esattamente coincidenti, indipendentemente dalla tolleranza corrente. Un vertice viene inserito in un bordo solo se l'implementazione non è in grado di distinguere il lato del bordo su cui si trova il vertice. Due archi vengono uniti solo quando entrambi gli endpoint sono identici. -
value
-
Valore della proprietà indicata.
Valore restituito
Questa funzione non restituisce un valore.
Commenti
La funzione gluTessProperty controlla le proprietà archiviate in un oggetto a mosaico. Queste proprietà influiscono sulla modalità di interpretazione e rendering dei poligoni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|