gluNextContour.3gl (Obsolete in GLU version 1.2 and later)








Name


  gluNextContour - mark	the beginning of another contour





C Specification


  void gluNextContour( GLUtesselator *tess,

		       GLenum type )





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 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.



  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.



Notes




  As of GLU version 1.2, this command is obsolete and is provided for backwards

  compatibility only. GLU version 1.2 (and later) can be distinguished during

  compilation by checking if the pre-processor symbol GLU_VERSION_1_2 is defined.



  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, gluTessVertex,

  gluTessBeginContour








Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV