Kstars

src/tessmono.h
1 /*
2 ** Author: Eric Veach, July 1994.
3 **
4 */
5 
6 #ifndef __tessmono_h_
7 #define __tessmono_h_
8 
9 /* __gl_meshTessellateMonoRegion( face ) tessellates a monotone region
10  * (what else would it do??) The region must consist of a single
11  * loop of half-edges (see mesh.h) oriented CCW. "Monotone" in this
12  * case means that any vertical line intersects the interior of the
13  * region in a single interval.
14  *
15  * Tessellation consists of adding interior edges (actually pairs of
16  * half-edges), to split the region into non-overlapping triangles.
17  *
18  * __gl_meshTessellateInterior( mesh ) tessellates each region of
19  * the mesh which is marked "inside" the polygon. Each such region
20  * must be monotone.
21  *
22  * __gl_meshDiscardExterior( mesh ) zaps (ie. sets to NULL) all faces
23  * which are not marked "inside" the polygon. Since further mesh operations
24  * on NULL faces are not allowed, the main purpose is to clean up the
25  * mesh so that exterior loops are not represented in the data structure.
26  *
27  * __gl_meshSetWindingNumber( mesh, value, keepOnlyBoundary ) resets the
28  * winding numbers on all edges so that regions marked "inside" the
29  * polygon have a winding number of "value", and regions outside
30  * have a winding number of 0.
31  *
32  * If keepOnlyBoundary is TRUE, it also deletes all edges which do not
33  * separate an interior region from an exterior one.
34  */
35 
36 int __gl_meshTessellateMonoRegion(GLUface *face);
37 int __gl_meshTessellateInterior(GLUmesh *mesh);
38 void __gl_meshDiscardExterior(GLUmesh *mesh);
39 int __gl_meshSetWindingNumber(GLUmesh *mesh, int value, GLboolean keepOnlyBoundary);
40 
41 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Fri Aug 19 2022 03:57:55 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.