Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
gleSetJoinStyle(3GLE)		      GLE		 gleSetJoinStyle(3GLE)

NAME
       gleSetJoinStyle,	 gleGetJoinStyle  -  Query  and	Set the	GLE join style
       flags.

SYNTAX
       void gleSetJoinStyle (int style);
       int gleGetJoinStyle (void);

ARGUMENTS
       style	 bitwise OR of flags

DESCRIPTION
       Query and set the GLE join style	flags. This word is a  bitwise	OR  of
       the flags described below.

       The   initial   join   style   is   TUBE_JN_ANGLE   |   TUBE_JN_CAP   |
       TUBE_NORM_FACET.

       Extrusion Join Styles

       TUBE_JN_RAW
	      Draw polycylinders, polycones, extrusions, etc. with no  special
	      treatment	of the extrusion ends.

       TUBE_JN_ANGLE
	      Draw polycylinders, polycones, extrusions, etc. by extending the
	      different	segments until they butt into each other with an angu-
	      lar style.

       TUBE_JN_CUT
	      Draw  polycylinders,  polycones, extrusions, etc.	by joining to-
	      gether the different segments and	slicing	off the	joint at  half
	      the  angle  between  the segments. A cap is drawn. Note that the
	      slicing plane runs through the origin of the contour  coordinate
	      system.  Thus,  the  amount of slice can be varied by offsetting
	      the contour with respect to the origin.

	      Note that	when two segments meet at a  shallow  angle,  the  cut
	      join  style  will	 potentially shave off a whole lot of the con-
	      tour, leading to "surprising" results...

       TUBE_JN_ROUND
	      Joints will be rounded. Strictly speaking, the part of the joint
	      above the	origin will be rounded.	The part below the origin will
	      come together in an angular join.

       TUBE_JN_MASK
	      Mask bits. This can be used to mask off the bit field  that  de-
	      fines the	join style.

	      End Caps

       TUBE_JN_CAP
	      If  this	is  set, a cap will be drawn at	each end of the	extru-
	      sion.

	      Automatic	Normal Vector Generation

       TUBE_NORM_FACET
	      A	normal vector is generated per facet. Useful for having	an ex-
	      trusion have a "faceted" look, such as when extruding  a	square
	      -- each of the four sides	of the square will look	flat.

       TUBE_NORM_EDGE
	      Normal  vectors are generated so that they lie along edges. Use-
	      ful for making angular things look rounded under	lighting.  For
	      example,	when  extruding	 a  hexagon  and  using	this flag, the
	      hexagonal	extrusion will look (more  like	 a)  smooth  perfectly
	      round cylinder, rather than a six-sided shape.

       TUBE_NORM_PATH_EDGE
	      Normal vectors are generated so that they	both lie on edges, and
	      so  that	they  interpolate between neighboring segments.	Useful
	      for drawing "spaghetti" -- extrusions that follow	a spline path.
	      Because  the  spline  path  must	be  "tessellated"  into	 small
	      straight	segments,  each	segment	will look straight unless this
	      flag is set.

       TUBE_NORM_MASK
	      A	mask useful for	masking	out the	"norm" bits.

	      Closed or	Open Contours

       TUBE_CONTOUR_CLOSED
	      If this bit is set, the contour will be treated  as  a  "closed"
	      contour,	where the last point connects back up to the first. It
	      is useful	to set this flag when drawing closed shapes  (such  as
	      extruded cylinders, star-shapes, I-Beams,	etc. When drawing open
	      extrusions (e.g.	corrugated sheet metal), you DON'T want	to set
	      this flag.

BUGS
       Multiple	threads	using GLE share	a single global	join style.

SEE ALSO
       gleExtrusion, gleTextureMode

AUTHOR
       Linas Vepstas (linas@fc.net)

GLE				      3.6		 gleSetJoinStyle(3GLE)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gleSetJoinStyle&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help