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
36int __gl_meshTessellateMonoRegion(GLUface *face);
37int __gl_meshTessellateInterior(GLUmesh *mesh);
38void __gl_meshDiscardExterior(GLUmesh *mesh);
39int __gl_meshSetWindingNumber(GLUmesh *mesh, int value, GLboolean keepOnlyBoundary);
40
41#endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:19:03 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.