Fonction gluTessProperty
La fonction gluTessProperty définit la propriété d’un objet de pavage.
Syntaxe
void WINAPI gluTessProperty(
GLUtesselator *tess,
GLenum which,
GLdouble value
);
Paramètres
-
Tess
-
Objet de pavage (créé avec gluNewTess).
-
Qui
-
Valeur de propriété à définir. Les valeurs suivantes sont valides : GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY et GLU_TESS_TOLERANCE.
Valeur Signification - GLU_TESS_WINDING_RULE
Détermine les parties du polygone qui se trouvent à l’intérieur. Le paramètre value peut avoir l’une des valeurs suivantes : GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE ou GLU_TESS_WINDING_ABS_GEQ_TWO.
Pour comprendre le fonctionnement de la règle de remontage, commencez par considérer que les contours d’entrée partitionnent le plan en régions. La règle d’enroulement détermine quelles régions se trouvent à l’intérieur du polygone.
Pour un C à un seul contour, le nombre d’enroulements d’un point x est simplement le nombre signé de révolutions que nous faisons autour de x lorsque nous voyageons une fois autour de C (où le sens inverse des aiguilles d’une montre est positif). Lorsqu’il y a plusieurs contours, les nombres de remontages individuels sont additionnés. Cette procédure associe une valeur entière signée à chaque point x dans le plan. Notez que le numéro d’enroulement est le même pour tous les points d’une seule région.
La règle d’enroulement classe une région comme « à l’intérieur » si son nombre d’enroulement appartient à la catégorie choisie (valeur impaire, différente de zéro, positive, négative ou absolue d’au moins deux). Le précédent tessellateur GLU (avant GLU 1.2) utilisait la règle « impair ». La règle « non nulle » (GLU_TESS_WINDING_NONZERO) est une autre façon courante de définir l’intérieur. Les trois autres règles (GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE, GLU_TESS_WINDING_ABS_GEQ_TWO) sont utiles pour les opérations CSG polygonales.- GLU_TESS_BOUNDARY_ONLY
Spécifie une valeur booléenne (définissez la valeur sur GL_TRUE ou GL_FALSE). Lorsque vous définissez valeur sur GL_TRUE, un ensemble de contours fermés séparant l’intérieur et l’extérieur du polygone est retourné au lieu d’un pavage. Les contours extérieurs sont orientés dans le sens inverse des aiguilles d’une montre par rapport à la normale; les contours intérieurs sont orientés dans le sens des aiguilles d’une montre. Les rappels GLU_TESS_BEGIN et GLU_TESS_BEGIN_DATA utilisent le type GL_LINE_LOOP pour chaque contour. - GLU_TESS_TOLERANCE
Spécifie une tolérance pour la fusion des fonctionnalités afin de réduire la taille de la sortie. Par exemple, deux sommets très proches l’un de l’autre peuvent être remplacés par un seul sommet. La tolérance est multipliée par la plus grande magnitude de coordonnées de n’importe quel sommet d’entrée ; spécifie la distance maximale que toute fonctionnalité peut déplacer à la suite d’une opération de fusion unique. Si une seule fonctionnalité participe à plusieurs opérations de fusion, la distance totale déplacée peut être plus grande.
La fusion de fonctionnalités est entièrement facultative; la tolérance n’est qu’un indicateur. L’implémentation est libre de fusionner dans certains cas et non dans d’autres, ou de ne jamais fusionner des fonctionnalités du tout. La tolérance par défaut est zéro.
L’implémentation actuelle fusionne les sommets uniquement s’ils sont exactement coïncidés, quelle que soit la tolérance actuelle. Un sommet est joint en arête uniquement si l’implémentation ne parvient pas à distinguer le côté du bord sur lequel se trouve le sommet. Deux arêtes sont fusionnées uniquement lorsque les deux points de terminaison sont identiques. -
value
-
Valeur de la propriété indiquée.
Valeur renvoyée
Cette fonction ne retourne pas de valeur.
Notes
La fonction gluTessProperty contrôle les propriétés stockées dans un objet de pavage. Ces propriétés affectent la façon dont les polygones sont interprétés et rendus.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows 2000 Server [applications de bureau uniquement] |
En-tête |
|
Bibliothèque |
|
DLL |
|