1gleSetJoinStyle(3GLE)                 GLE                gleSetJoinStyle(3GLE)
2
3
4

NAME

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

SYNTAX

10       void gleSetJoinStyle (int style);
11       int gleGetJoinStyle (void);
12

ARGUMENTS

14       style     bitwise OR of flags
15

DESCRIPTION

17       Query and set the GLE join style flags. This word is a  bitwise  OR  of
18       the flags described below.
19
20       The   initial   join   style   is   TUBE_JN_ANGLE   |   TUBE_JN_CAP   |
21       TUBE_NORM_FACET.
22
23       Extrusion Join Styles
24
25       TUBE_JN_RAW
26              Draw polycylinders, polycones, extrusions, etc. with no  special
27              treatment of the extrusion ends.
28
29       TUBE_JN_ANGLE
30              Draw polycylinders, polycones, extrusions, etc. by extending the
31              different segments until they butt into each other with an angu‐
32              lar style.
33
34       TUBE_JN_CUT
35              Draw  polycylinders,  polycones,  extrusions,  etc.  by  joining
36              together the different segments and slicing  off  the  joint  at
37              half  the  angle between the segments. A cap is drawn. Note that
38              the slicing plane runs through the origin of the contour coordi‐
39              nate  system. Thus, the amount of slice can be varied by offset‐
40              ting the contour with respect to the origin.
41
42              Note that when two segments meet at a  shallow  angle,  the  cut
43              join  style  will  potentially shave off a whole lot of the con‐
44              tour, leading to "surprising" results...
45
46       TUBE_JN_ROUND
47              Joints will be rounded. Strictly speaking, the part of the joint
48              above the origin will be rounded. The part below the origin will
49              come together in an angular join.
50
51       TUBE_JN_MASK
52              Mask bits. This can be used to  mask  off  the  bit  field  that
53              defines the join style.
54
55              End Caps
56
57       TUBE_JN_CAP
58              If  this  is  set, a cap will be drawn at each end of the extru‐
59              sion.
60
61              Automatic Normal Vector Generation
62
63       TUBE_NORM_FACET
64              A normal vector is generated per facet.  Useful  for  having  an
65              extrusion have a "faceted" look, such as when extruding a square
66              -- each of the four sides of the square will look flat.
67
68       TUBE_NORM_EDGE
69              Normal vectors are generated so that they lie along edges.  Use‐
70              ful  for  making angular things look rounded under lighting. For
71              example, when extruding a  hexagon  and  using  this  flag,  the
72              hexagonal  extrusion  will  look  (more like a) smooth perfectly
73              round cylinder, rather than a six-sided shape.
74
75       TUBE_NORM_PATH_EDGE
76              Normal vectors are generated so that they both lie on edges, and
77              so  that  they  interpolate between neighboring segments. Useful
78              for drawing "spaghetti" -- extrusions that follow a spline path.
79              Because  the  spline  path  must  be  "tessellated"  into  small
80              straight segments, each segment will look straight  unless  this
81              flag is set.
82
83       TUBE_NORM_MASK
84              A mask useful for masking out the "norm" bits.
85
86              Closed or Open Contours
87
88       TUBE_CONTOUR_CLOSED
89              If  this  bit  is set, the contour will be treated as a "closed"
90              contour, where the last point connects back up to the first.  It
91              is  useful  to set this flag when drawing closed shapes (such as
92              extruded cylinders, star-shapes, I-Beams, etc. When drawing open
93              extrusions (e.g.  corrugated sheet metal), you DON'T want to set
94              this flag.
95
96

BUGS

98       Multiple threads using GLE share a single global join  style  (although
99       this should be easily fixable because GLE does use a centralized graph‐
100       ics context).
101
102

SEE ALSO

104       gleExtrusion, gleTextureMode
105

AUTHOR

107       Linas Vepstas (linas@linas.org)
108
109
110
111GLE                                   3.0                gleSetJoinStyle(3GLE)
Impressum