Signature
Parameters
Variables | Description |
---|---|
tess |
Specifies the tessellation object (created with
gluNewTess
).
|
type |
Specifies the type of the contour being defined. Valid values are
GLU_EXTERIOR
,
GLU_INTERIOR
,
GLU_UNKNOWN
,
GLU_CCW
, and
GLU_CW
.
|
Description
gluNextContour
is used in describing polygons with multiple contours. After the first
contour has been described through a series of
gluTessVertex
calls,
a
gluNextContour
call indicates that the previous contour is complete and that the
next contour is about to begin.
Another series of
gluTessVertex
calls is then used to describe the new
contour. This process can be repeated until all contours have been described.
type
defines what type of contour follows.
The legal contour types are as follows:
- GLU_EXTERIOR
-
An exterior contour defines an exterior boundary of the polygon.
- GLU_INTERIOR
-
An interior contour defines an interior boundary of the polygon (such as a hole).
- GLU_UNKNOWN
-
An unknown contour is analyzed by the library to determine if it is interior or exterior.
- GLU_CCW ,
- GLU_CW
-
The first GLU_CCW or GLU_CW 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.
If one contour is of type
GLU_CCW
or
GLU_CW
, then all
contours must be of the same type (if they are not, then all
GLU_CCW
and
GLU_CW
contours will be changed to
GLU_UNKNOWN
).
Note that there is no real difference between the
GLU_CCW
and
GLU_CW
contour types.
Before the first contour is described,
gluNextContour
can be called to
define the type of the first contour.
If
gluNextContour
is not called before the first contour, then the first contour is
marked
GLU_EXTERIOR
.
This command is obsolete and is provided for backward compatibility
only. Calls to
gluNextContour
are mapped to
gluTessEndContour
followed by
gluTessBeginContour
.
Example
A quadrilateral with a triangular hole in it can be described as follows:
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);
See Also
Copyright
Copyright
1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/
.