rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / man2 / gluNextContour.xml
diff --git a/upstream-doc/man2/gluNextContour.xml b/upstream-doc/man2/gluNextContour.xml
new file mode 100644 (file)
index 0000000..1c30667
--- /dev/null
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
+              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
+<refentry id="gluNextContour">
+    <refmeta>
+        <refmetainfo>
+            <copyright>
+                <year>1991-2006</year>
+                <holder>Silicon Graphics, Inc.</holder>
+            </copyright>
+        </refmetainfo>
+        <refentrytitle>gluNextContour</refentrytitle>
+        <manvolnum>3G</manvolnum>
+    </refmeta>
+    <refnamediv>
+        <refname>gluNextContour</refname>
+        <refpurpose>mark the beginning of another contour</refpurpose>
+    </refnamediv>
+    <refsynopsisdiv><title>C Specification</title>
+        <funcsynopsis>
+            <funcprototype>
+                <funcdef>void <function>gluNextContour</function></funcdef>
+                <paramdef>GLUtesselator* <parameter>tess</parameter></paramdef>
+                <paramdef>GLenum <parameter>type</parameter></paramdef>
+            </funcprototype>
+        </funcsynopsis>
+    </refsynopsisdiv>
+    <!-- eqn: ignoring delim $$ -->
+    <refsect1 id="parameters"><title>Parameters</title>
+        <variablelist>
+        <varlistentry>
+            <term><parameter>tess</parameter></term>
+            <listitem>
+                <para>
+                    Specifies the tessellation object (created with <citerefentry><refentrytitle>gluNewTess</refentrytitle></citerefentry>).
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term><parameter>type</parameter></term>
+            <listitem>
+                <para>
+                    Specifies the type of the contour being defined. Valid values are
+                    <constant>GLU_EXTERIOR</constant>,
+                    <constant>GLU_INTERIOR</constant>,
+                    <constant>GLU_UNKNOWN</constant>,
+                    <constant>GLU_CCW</constant>, and
+                    <constant>GLU_CW</constant>.
+                </para>
+            </listitem>
+        </varlistentry>
+        </variablelist>
+    </refsect1>
+    <refsect1 id="description"><title>Description</title>
+        <para>
+            <function>gluNextContour</function> is used in describing polygons with multiple contours. After the first
+            contour has been described through a series of <citerefentry><refentrytitle>gluTessVertex</refentrytitle></citerefentry> calls, 
+            a <function>gluNextContour</function> call indicates that the previous contour is complete and that the
+            next contour is about to begin.
+            Another series of <citerefentry><refentrytitle>gluTessVertex</refentrytitle></citerefentry> calls is then used to describe the new 
+            contour. This process can be repeated until all contours have been described.
+        </para>
+        <para>
+            <parameter>type</parameter> defines what type of contour follows.
+            The legal contour types are as follows:
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term><constant>GLU_EXTERIOR</constant></term>
+                <listitem>
+                    <para>
+                        An exterior contour defines an exterior boundary of the polygon.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GLU_INTERIOR</constant></term>
+                <listitem>
+                    <para>
+                        An interior contour defines an interior boundary of the polygon (such as 
+                        a hole).
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GLU_UNKNOWN</constant></term>
+                <listitem>
+                    <para>
+                        An unknown contour is analyzed by the library to determine if it is interior
+                        or exterior.
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GLU_CCW</constant>, </term>
+                <listitem>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term><constant>GLU_CW</constant></term>
+                <listitem>
+                    <para>
+                        The first <constant>GLU_CCW</constant> or <constant>GLU_CW</constant> contour defined is considered to 
+                        be exterior. All other contours are considered to be exterior if they 
+                        are oriented in the same direction (clockwise or counterclockwise) as 
+                        the first contour, and interior if they are not.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+        <para>
+            If one contour is of type <constant>GLU_CCW</constant> or <constant>GLU_CW</constant>, then all 
+            contours must be of the same type (if they are not, then all <constant>GLU_CCW</constant>
+            and <constant>GLU_CW</constant> contours will be changed to <constant>GLU_UNKNOWN</constant>).
+        </para>
+        <para>
+            Note that there is no real difference between the <constant>GLU_CCW</constant> and 
+            <constant>GLU_CW</constant> contour types.
+        </para>
+        <para>
+            Before the first contour is described, <function>gluNextContour</function> can be called to 
+            define the type of the first contour.
+            If <function>gluNextContour</function> is not called before the first contour, then the first contour is 
+            marked <constant>GLU_EXTERIOR</constant>.
+        </para>
+        <para>
+            This command is obsolete and is provided for backward compatibility
+            only. Calls to <function>gluNextContour</function> are mapped to <citerefentry><refentrytitle>gluTessEndContour</refentrytitle></citerefentry>
+            followed by 
+            <citerefentry><refentrytitle>gluTessBeginContour</refentrytitle></citerefentry>.
+        </para>
+    </refsect1>
+    <refsect1 id="example"><title>Example</title>
+        <para>
+            A quadrilateral with a triangular hole in it can be described as follows:
+            <programlisting>
+gluBeginPolygon(tobj);
+   gluTessVertex(tobj, v1, v1);
+   gluTessVertex(tobj, v2, v2);
+   gluTessVertex(tobj, v3, v3);
+   gluTessVertex(tobj, v4, v4);
+gluNextContour(tobj, GLU_INTERIOR);
+   gluTessVertex(tobj, v5, v5);
+   gluTessVertex(tobj, v6, v6);
+   gluTessVertex(tobj, v7, v7);
+gluEndPolygon(tobj);
+            </programlisting>
+        </para>
+    </refsect1>
+    <refsect1 id="seealso"><title>See Also</title>
+        <para>
+            <citerefentry><refentrytitle>gluBeginPolygon</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>gluNewTess</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>gluTessBeginContour</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>gluTessCallback</refentrytitle></citerefentry>,
+            <citerefentry><refentrytitle>gluTessVertex</refentrytitle></citerefentry>
+        </para>
+    </refsect1>
+    <refsect1 id="Copyright"><title>Copyright</title>
+        <para>
+            Copyright <trademark class="copyright"></trademark> 1991-2006
+            Silicon Graphics, Inc. This document is licensed under the SGI
+            Free Software B License. For details, see
+            <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
+        </para>
+    </refsect1>
+</refentry>