*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> gluBeginTrim (3)              
Title
Content
Arch
Section
 

Contents


gluBeginTrim()                                     gluBeginTrim()


NAME    [Toc]    [Back]

       gluBeginTrim,  gluEndTrim  - delimit a NURBS trimming loop
       definition

SYNOPSIS    [Toc]    [Back]

       void gluBeginTrim(
               GLUnurbs* nurb ); void gluEndTrim(
               GLUnurbs* nurb );

PARAMETERS    [Toc]    [Back]

       Specifies the NURBS object (created  with  gluNewNurbsRenderer()).

DESCRIPTION    [Toc]    [Back]

       Use  gluBeginTrim()  to  mark  the beginning of a trimming
       loop, and gluEndTrim() to mark the end of a trimming loop.
       A trimming loop is a set of oriented curve segments (forming
 a closed curve) that define boundaries of a NURBS surface.
  You  include these trimming loops in the definition
       of a NURBS surface, between calls to gluBeginSurface() and
       gluEndSurface().

       The  definition for a NURBS surface can contain many trimming
 loops.  For example, if you wrote a definition for  a
       NURBS  surface  that  resembled  a  rectangle  with a hole
       punched out, the definition  would  contain  two  trimming
       loops. One loop would define the outer edge of the rectangle;
 the other would define the hole punched  out  of  the
       rectangle. The definitions of each of these trimming loops
       would be bracketed by a gluBeginTrim()/gluEndTrim()  pair.

       The  definition  of a single closed trimming loop can consist
 of multiple  curve  segments,  each  described  as  a
       piecewise  linear curve (see gluPwlCurve()) or as a single
       NURBS curve (see gluNurbsCurve()), or as a combination  of
       both  in any order. The only library calls that can appear
       in a trimming loop definition (between the calls to gluBeginTrim()
 and gluEndTrim()) are gluPwlCurve() and gluNurbsCurve().


       The area of the NURBS surface that  is  displayed  is  the
       region  in the domain to the left of the trimming curve as
       the curve parameter increases.  Thus, the retained  region
       of the NURBS surface is inside a counterclockwise trimming
       loop and outside a clockwise trimming loop. For the  rectangle
  mentioned  earlier, the trimming loop for the outer
       edge of the rectangle  runs  counterclockwise,  while  the
       trimming loop for the punched-out hole runs clockwise.

       If you use more than one curve to define a single trimming
       loop, the curve segments must form a closed loop (that is,
       the  endpoint  of each curve must be the starting point of
       the next curve, and the endpoint of the final  curve  must
       be  the  starting  point  of the first curve). If the endpoints
 of the curve are sufficiently  close  together  but
       not  exactly coincident, they will be coerced to match. If
       the endpoints are not sufficiently close, an error results
       (see gluNurbsCallback()).

       If  a  trimming  loop definition contains multiple curves,
       the direction of the curves must be consistent  (that  is,
       the  inside  must  be  to  the left of all of the curves).
       Nested trimming loops are legal as long as the curve  orientations
  alternate  correctly.  If  trimming  curves are
       self-intersecting, or  intersect  one  another,  an  error
       results.

       If  no  trimming information is given for a NURBS surface,
       the entire surface is drawn.

EXAMPLE    [Toc]    [Back]

       This code fragment defines a trimming loop  that  consists
       of  one  piecewise  linear  curve,  and  two NURBS curves:
       gluBeginTrim(nobj);
           gluPwlCurve(..., GLU_MAP1_TRIM_2);
           gluNurbsCurve(..., GLU_MAP1_TRIM_2);
           gluNurbsCurve(..., GLU_MAP1_TRIM_3); gluEndTrim(nobj);

SEE ALSO    [Toc]    [Back]

      
      
       gluBeginSurface(3),  gluNewNurbsRenderer(3), gluNurbsCallback(3), gluNurbsCurve(3), gluPwlCurve(3)



                                                   gluBeginTrim()
[ Back ]
 Similar pages
Name OS Title
bgntrim IRIX delimit a NURBS surface trimming loop
endtrim IRIX delimit a NURBS surface trimming loop
bgncurve IRIX delimit a NURBS curve definition
gluEndSurface Tru64 delimit a NURBS surface definition
endcurve IRIX delimit a NURBS curve definition
glubegincurve IRIX delimit a NURBS curve definition
glubeginsurface IRIX delimit a NURBS surface definition
gluEndCurve Tru64 delimit a NURBS curve definition
endsurface IRIX delimit a NURBS surface definition
gluBeginCurve Tru64 delimit a NURBS curve definition
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service