rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man2 / xhtml / gluTessProperty.xml
diff --git a/upstream-doc/man2/xhtml/gluTessProperty.xml b/upstream-doc/man2/xhtml/gluTessProperty.xml
new file mode 100644 (file)
index 0000000..378a1db
--- /dev/null
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
+<!-- saved from url=(0013)about:internet -->
+<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>gluTessProperty</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="gluTessProperty"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>gluTessProperty — set a tessellation object property</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">void <b class="fsfunc">gluTessProperty</b>(</code></td><td>GLUtesselator*  </td><td><var class="pdparam">tess</var>, </td></tr><tr><td> </td><td>GLenum  </td><td><var class="pdparam">which</var>, </td></tr><tr><td> </td><td>GLdouble  </td><td><var class="pdparam">data</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>tess</code></em></span></dt><dd><p>
+                    Specifies the tessellation object (created with <a class="citerefentry" href="gluNewTess.xml"><span class="citerefentry"><span class="refentrytitle">gluNewTess</span></span></a>).
+                </p></dd><dt><span class="term"><em class="parameter"><code>which</code></em></span></dt><dd><p>
+                    Specifies the property to be set. Valid values are
+                    <code class="constant">GLU_TESS_WINDING_RULE</code>,
+                    <code class="constant">GLU_TESS_BOUNDARY_ONLY</code>, and
+                    <code class="constant">GLU_TESS_TOLERANCE</code>.
+                </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p>
+                    Specifies the value of the indicated property.
+                </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p>
+            <code class="function">gluTessProperty</code> is used to control properties stored in a tessellation object. These
+            properties affect the way that the polygons are interpreted and rendered. 
+            The legal values for <em class="parameter"><code>which</code></em> are as follows:
+        </p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GLU_TESS_WINDING_RULE</code> </span></dt><dd><p>
+                        Determines which parts of the polygon are on the ``interior''. 
+                        <em class="parameter"><code>data</code></em> may be set to one of <code class="constant">GLU_TESS_WINDING_ODD</code>,
+                        <code class="constant">GLU_TESS_WINDING_NONZERO</code>, <code class="constant">GLU_TESS_WINDING_POSITIVE</code>,
+                        <code class="constant">GLU_TESS_WINDING_NEGATIVE</code>, or <code class="constant">GLU_TESS_WINDING_ABS_GEQ_TWO</code>.
+                    </p><p>
+                        To understand how the winding rule works, consider that the input 
+                        contours partition the plane into regions. The winding rule determines which
+                        of these regions are inside the polygon.
+                    </p><p>
+                        For a single contour C, the winding number of a point x is simply the signed
+                        number of revolutions we make around x as we travel once around C
+                        (where CCW is positive). When there are several contours, the individual
+                        winding numbers are summed. This procedure associates a signed integer 
+                        value with each point x in the plane. Note that the winding number is the
+                        same for all points in a single region.
+                    </p><p>
+                        The winding rule classifies a region as ``inside'' if its winding number 
+                        belongs to the chosen category (odd, nonzero, positive, negative, or
+                        absolute value of at least two). The previous GLU tessellator (prior to
+                        GLU 1.2) used the ``odd'' rule. The ``nonzero'' rule is another common way to
+                        define the interior. The other three rules are useful for polygon CSG
+                        operations.
+                    </p></dd><dt><span class="term"><code class="constant">GLU_TESS_BOUNDARY_ONLY</code> </span></dt><dd><p>
+                        Is a boolean value (``value'' should be set
+                        to GL_TRUE or GL_FALSE). When set to GL_TRUE, a set of closed contours
+                        separating the polygon interior and exterior are returned instead of a 
+                        tessellation. Exterior contours are oriented CCW with respect to the
+                        normal; interior contours are oriented CW. The <code class="constant">GLU_TESS_BEGIN</code>
+                        and <code class="constant">GLU_TESS_BEGIN_DATA</code> callbacks use the type GL_LINE_LOOP for
+                        each contour.
+                    </p></dd><dt><span class="term"><code class="constant">GLU_TESS_TOLERANCE</code></span></dt><dd><p>
+                        Specifies a tolerance for merging features to reduce the size of the output.
+                        For example, two vertices that are very close to each other might be
+                        replaced by a single vertex. The tolerance is multiplied by the largest
+                        coordinate magnitude of any input vertex; this specifies the maximum
+                        distance that any feature can move as the result of a single merge
+                        operation. If a single feature takes part in several merge operations, the
+                        total distance moved could be larger.
+                    </p><p>
+                        Feature merging is completely optional; the tolerance is only a hint.
+                        The implementation is free to merge in some cases and not in others, or to
+                        never merge features at all. The initial tolerance is 0.
+                    </p><p>
+                        The current implementation merges vertices only if they are exactly 
+                        coincident, regardless of the current tolerance. A vertex is spliced into
+                        an edge only if the implementation is unable to distinguish which side of
+                        the edge the vertex lies on. Two edges are merged only when both endpoints
+                        are identical.
+                    </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p>
+            <a class="citerefentry" href="gluGetTessProperty.xml"><span class="citerefentry"><span class="refentrytitle">gluGetTessProperty</span></span></a>,
+            <a class="citerefentry" href="gluNewTess.xml"><span class="citerefentry"><span class="refentrytitle">gluNewTess</span></span></a>
+        </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p>
+            Copyright <span class="trademark"></span>© 1991-2006
+            Silicon Graphics, Inc. This document is licensed under the SGI
+            Free Software B License. For details, see
+            <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>.
+        </p></div></div></body></html>