nextcontour.3gl 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. '\" e
  2. '\"! eqn | mmdoc
  3. '\"macro stdmacro
  4. .ds Vn Version 1.2
  5. .ds Dt 6 March 1997
  6. .ds Re Release 1.2.0
  7. .ds Dp May 02 11:53
  8. .ds Dm 37 nextconto
  9. .ds Xs 37451 5 nextcontour.gl
  10. .TH GLUNEXTCONTOUR 3G
  11. .SH NAME
  12. .B "gluNextContour
  13. \- mark the beginning of another contour
  14. .SH C SPECIFICATION
  15. void \f3gluNextContour\fP(
  16. GLUtesselator* \fItess\fP,
  17. .nf
  18. .ta \w'\f3void \fPgluNextContour( 'u
  19. GLenum \fItype\fP )
  20. .fi
  21. .EQ
  22. delim $$
  23. .EN
  24. .SH PARAMETERS
  25. .TP \w'\f2tess\fP\ \ 'u
  26. \f2tess\fP
  27. Specifies the tessellation object (created with \%\f3gluNewTess\fP).
  28. .TP
  29. \f2type\fP
  30. Specifies the type of the contour being defined. Valid values are
  31. \%\f3GLU_EXTERIOR\fP,
  32. \%\f3GLU_INTERIOR\fP,
  33. \%\f3GLU_UNKNOWN\fP,
  34. \%\f3GLU_CCW\fP, and
  35. \%\f3GLU_CW\fP.
  36. .SH DESCRIPTION
  37. \%\f3gluNextContour\fP is used in describing polygons with multiple contours. After the first
  38. contour has been described through a series of \%\f3gluTessVertex\fP calls,
  39. a \%\f3gluNextContour\fP call indicates that the previous contour is complete and that the
  40. next contour is about to begin.
  41. Another series of \%\f3gluTessVertex\fP calls is then used to describe the new
  42. contour. This process can be repeated until all contours have been described.
  43. .P
  44. \f2type\fP defines what type of contour follows.
  45. The legal contour types are as follows:
  46. .TP 18
  47. \%\f3GLU_EXTERIOR\fP
  48. An exterior contour defines an exterior boundary of the polygon.
  49. .TP
  50. \%\f3GLU_INTERIOR\fP
  51. An interior contour defines an interior boundary of the polygon (such as
  52. a hole).
  53. .TP
  54. \%\f3GLU_UNKNOWN\fP
  55. An unknown contour is analyzed by the library to determine if it is interior
  56. or exterior.
  57. .TP
  58. \%\f3GLU_CCW\fP,
  59. .TP
  60. \%\f3GLU_CW\fP
  61. The first \%\f3GLU_CCW\fP or \%\f3GLU_CW\fP contour defined is considered to
  62. be exterior. All other contours are considered to be exterior if they
  63. are oriented in the same direction (clockwise or counterclockwise) as
  64. the first contour, and interior if they are not.
  65. .P
  66. If one contour is of type \%\f3GLU_CCW\fP or \%\f3GLU_CW\fP, then all
  67. contours must be of the same type (if they are not, then all \%\f3GLU_CCW\fP
  68. and \%\f3GLU_CW\fP contours will be changed to \%\f3GLU_UNKNOWN\fP).
  69. .P
  70. Note that there is no real difference between the \%\f3GLU_CCW\fP and
  71. \%\f3GLU_CW\fP contour types.
  72. .P
  73. Before the first contour is described, \%\f3gluNextContour\fP can be called to
  74. define the type of the first contour.
  75. If \%\f3gluNextContour\fP is not called before the first contour, then the first contour is
  76. marked \%\f3GLU_EXTERIOR\fP.
  77. .P
  78. This command is obsolete and is provided for backward compatibility
  79. only. Calls to \%\f3gluNextContour\fP are mapped to \%\f3gluTessEndContour\fP
  80. followed by
  81. \%\f3gluTessBeginContour\fP.
  82. .SH EXAMPLE
  83. A quadrilateral with a triangular hole in it can be described as follows:
  84. .sp
  85. .Ex
  86. gluBeginPolygon(tobj);
  87. gluTessVertex(tobj, v1, v1);
  88. gluTessVertex(tobj, v2, v2);
  89. gluTessVertex(tobj, v3, v3);
  90. gluTessVertex(tobj, v4, v4);
  91. gluNextContour(tobj, GLU_INTERIOR);
  92. gluTessVertex(tobj, v5, v5);
  93. gluTessVertex(tobj, v6, v6);
  94. gluTessVertex(tobj, v7, v7);
  95. gluEndPolygon(tobj);
  96. .Ee
  97. .SH SEE ALSO
  98. \%\f3gluBeginPolygon(3G)\fP, \%\f3gluNewTess(3G)\fP, \%\f3gluTessCallback(3G)\fP, \%\f3gluTessVertex(3G)\fP,
  99. \%\f3gluTessBeginContour(3G)\fP