NAME

gluNextContour - mark the beginning of another contour

C SPECIFICATION

void gglluuNNeexxttCCoonnttoouurr( GLUtesselator* _t_e_s_s,
                     GLenum _t_y_p_e )

delim $$

PARAMETERS

_t_e_s_s
Specifies the tessellation object (created with gglluuNNeewwTTeessss).
_t_y_p_e
Specifies the type of the contour being defined. Valid values are GGLLUU__EEXXTTEERRIIOORR, GGLLUU__IINNTTEERRIIOORR, GGLLUU__UUNNKKNNOOWWNN, GGLLUU__CCCCWW, and GGLLUU__CCWW.

DESCRIPTION

gglluuNNeexxttCCoonnttoouurr is used in describing polygons with multiple contours. After the first contour has been described through a series of gglluuTTeessssVVeerrtteexx calls, a gglluuNNeexxttCCoonnttoouurr call indicates that the previous contour is complete and that the next contour is about to begin. Another series of gglluuTTeessssVVeerrtteexx calls is then used to describe the new contour. This process can be repeated until all contours have been described.

_t_y_p_e defines what type of contour follows. The legal contour types are as follows:

GGLLUU__EEXXTTEERRIIOORR
An exterior contour defines an exterior boundary of the polygon.
GGLLUU__IINNTTEERRIIOORR
An interior contour defines an interior boundary of the polygon (such as a hole).
GGLLUU__UUNNKKNNOOWWNN
An unknown contour is analyzed by the library to determine if it is interior or exterior.
GGLLUU__CCCCWW,
GGLLUU__CCWW
The first GGLLUU__CCCCWW or GGLLUU__CCWW 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 GGLLUU__CCCCWW or GGLLUU__CCWW, then all contours must be of the same type (if they are not, then all GGLLUU__CCCCWW and GGLLUU__CCWW contours will be changed to GGLLUU__UUNNKKNNOOWWNN).

Note that there is no real difference between the GGLLUU__CCCCWW and GGLLUU__CCWW contour types.

Before the first contour is described, gglluuNNeexxttCCoonnttoouurr can be called to define the type of the first contour. If gglluuNNeexxttCCoonnttoouurr is not called before the first contour, then the first contour is marked GGLLUU__EEXXTTEERRIIOORR.

This command is obsolete and is provided for backward compatibility only. Calls to gglluuNNeexxttCCoonnttoouurr are mapped to gglluuTTeessssEEnnddCCoonnttoouurr followed by gglluuTTeessssBBeeggiinnCCoonnttoouurr.

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

gglluuBBeeggiinnPPoollyyggoonn((33GG)), gglluuNNeewwTTeessss((33GG)), gglluuTTeessssCCaallllbbaacckk((33GG)), gglluuTTeessssVVeerrtteexx((33GG)), gglluuTTeessssBBeeggiinnCCoonnttoouurr((33GG))