gleSetJoinStyle

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
              angular style.

       TUBE_JN_CUT
              Draw polycylinders, polycones, extrusions, etc. by joining
              together 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
              contour, 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
              defines the join style.

              End Caps

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

              Automatic Normal Vector Generation

       TUBE_NORM_FACET
              A normal vector is generated per facet. Useful for having an
              extrusion 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.
              Useful 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 (although
       this should be easily fixable because GLE does use a centralized
       graphics context).


SEE ALSO
       gleExtrusion, gleTextureMode

AUTHOR
       Linas Vepstas (linas@linas.org)



GLE                                   3.0                gleSetJoinStyle(3GLE)