This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



GLUTESSPROPERTY(3G)                                                                      GLUTESSPROPERTY(3G)



NAME
       gluTessProperty - set a tessellation object property


C SPECIFICATION
       void gluTessProperty( GLUtesselator* tess,
                             GLenum which,
                             GLdouble data )


PARAMETERS
       tess   Specifies the tessellation object (created with gluNewTess).

       which  Specifies    the    property    to   be   set.   Valid   values   are   GLU_TESS_WINDING_RULE,
              GLU_TESS_BOUNDARY_ONLY, GLU_TESS_TOLERANCE.

       data   Specifies the value of the indicated property.

DESCRIPTION
       gluTessProperty is used to control properties stored  in  a  tessellation  object.  These  properties
       affect  the  way  that  the polygons are interpreted and rendered.  The legal values for which are as
       follows:

       GLU_TESS_WINDING_RULE
                      Determines which parts of the polygon are on the "interior".  data may be set  to  one
                      of   GLU_TESS_WINDING_ODD,   GLU_TESS_WINDING_NONZERO,  GLU_TESS_WINDING_POSITIVE,  or
                      GLU_TESS_WINDING_NEGATIVE, or GLU_TESS_WINDING_ABS_GEQ_TWO.

                      To understand how the winding rule works, consider that the input  contours  partition
                      the  plane into regions. The winding rule determines which of these regions are inside
                      the polygon.

                      For a single contour C, the winding number of a point x is simply the signed number of
                      revolutions  we make around x as we travel once around C (where CCW is positive). When
                      there are several contours, the individual winding numbers are summed. This  procedure
                      associates  a signed integer value with each point x in the plane. Note that the wind-ing winding
                      ing number is the same for all points in a single region.

                      The winding rule classifies a region as "inside" if its winding number belongs to  the
                      chosen category (odd, nonzero, positive, negative, or absolute value of at least two).
                      The previous GLU tessellator (prior to GLU 1.2) used the  "odd"  rule.  The  "nonzero"
                      rule  is  another  common way to define the interior. The other three rules are useful
                      for polygon CSG operations.

       GLU_TESS_BOUNDARY_ONLY
                      Is a boolean value ("value" should be  set  to  GL_TRUE  or  GL_FALSE).  When  set  to
                      GL_TRUE,  a  set  of  closed contours separating the polygon interior and exterior are
                      returned instead of a tessellation. Exterior contours are oriented CCW with respect to
                      the   normal;   interior   contours   are   oriented   CW.   The   GLU_TESS_BEGIN  and
                      GLU_TESS_BEGIN_DATA callbacks use the type GL_LINE_LOOP for each contour.

       GLU_TESS_TOLERANCE
                      Specifies a tolerance for merging features to reduce the  size  of  the  output.   For
                      example,  two vertices that are very close to each other might be replaced by a single
                      vertex. The tolerance is multiplied by the largest coordinate magnitude of  any  input
                      vertex; this specifies the maximum distance that any feature can move as the result of
                      a single merge operation. If a single feature takes part in several merge  operations,
                      the total distance moved could be larger.

                      Feature merging is completely optional; the tolerance is only a hint.  The implementa-tion implementation
                      tion is free to merge in some cases and not in others, or to never merge  features  at
                      all. The initial tolerance is 0.

                      The  current  implementation  merges  vertices  only  if  they are exactly coincident,
                      regardless of the current tolerance. A vertex is spliced into  an  edge  only  if  the
                      implementation is unable to distinguish which side of the edge the vertex lies on. Two
                      edges are merged only when both endpoints are identical.

SEE ALSO
       gluGetTessProperty(3G), gluNewTess(3G)




                                                                                         GLUTESSPROPERTY(3G)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the OpenGL project.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...