logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Arguments

style     bitwise OR of flags

Author

       Linas Vepstas (linas@linas.org)

GLE                                                    3.0                                 gleSetJoinStyle(3GLE)

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

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.

       ExtrusionJoinStylesTUBE_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.

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

              AutomaticNormalVectorGenerationTUBE_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.

              ClosedorOpenContoursTUBE_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.

Name

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

See Also

       gleExtrusion, gleTextureMode

Syntax

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

See Also