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

  man pages->IRIX man pages -> OpenGL/glubegintrim (3)              


gluBeginTrim(3G)	       OpenGL Reference		      gluBeginTrim(3G)

NAME    [Toc]    [Back]

     gluBeginTrim, gluEndTrim -	delimit	a NURBS	trimming loop definition

C SPECIFICATION    [Toc]    [Back]

     void gluBeginTrim(	GLUnurbs* nurb )

     void gluEndTrim( GLUnurbs*	nurb )

PARAMETERS    [Toc]    [Back]

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

									Page 1

gluBeginTrim(3G)	       OpenGL Reference		      gluBeginTrim(3G)

     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 selfintersecting,
 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:

	     gluPwlCurve(..., GLU_MAP1_TRIM_2);
	     gluNurbsCurve(...,	GLU_MAP1_TRIM_2);
	     gluNurbsCurve(...,	GLU_MAP1_TRIM_3);

SEE ALSO    [Toc]    [Back]

     gluBeginSurface, gluNewNurbsRenderer, gluNurbsCallback, gluNurbsCurve,

									PPPPaaaaggggeeee 2222
[ 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