Digital Equipment Corporation OpenGL man pages

gluNextContour.3gl (GLU versions 1.0 and 1.1)


  gluNextContour - mark	the beginning of another contour

C Specification

  void gluNextContour( GLUtriangulatorObj *tobj,
		       GLenum type )


  tobj	Specifies the tessellation object (created with	gluNewTess).

  type	Specifies the type of the contour being	defined.  Valid	values are


  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

  GLU_EXTERIOR	 An exterior contour defines an	exterior boundary of the

  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.

		 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.

  gluNextContour can be	called before the first	contour	is described 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.


  A quadrilateral with a triangular hole in it can be described	as follows:

     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);

See Also

   gluBeginPolygon, gluNewTess,	gluTessCallback, gluTessVertex

Introduction | Alphabetic | Specification

Last Edited: Fri Dec 6 11:18:03 EST 1996 by AFV
Look here for legal stuff: Legal