GLUNEXTCONTOUR() MachTen Programmer’s Manual GLUNEXTCONTOUR()
NAME
gluNextContour - mark the beginning of another contour
C SPECIFICATION
void gluNextContour( GLUtesselator* tess,
GLenum type )
delim $$
PARAMETERS
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 multi-
ple 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 con-
tour 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 counter-
clockwise) as the first contour, and
interior if they are not.
If one contour is of type
GLU_CCW or GLU_CW, then all con-
tours 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 com-
patibility 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
gluBeginPolygon, gluNewTess, gluTessCallback, gluTessVer-
tex, gluTessBeginContour
MachTen 2