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 seg
ments. 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 "sur
prising" 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
GLE 3.6 1
gleSetJoinStyle(3GLE) GLE gleSetJoinStyle(3GLE)
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 extru
sion 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 "tessel
lated" 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 cylin
ders, 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 2