gleSetJoinStyle

Query and Set the GLE join style flags.

Signature

gleGetJoinStyle( )-> int
gleGetJoinStyle( ) -> <class 'ctypes.c_int'>
gleGetJoinStyle(  ) -> c_int
gleSetJoinStyle( int( style ) )-> void
gleSetJoinStyle( style )
gleSetJoinStyle( c_int(style) ) -> None

Parameters

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

Author

Linas Vepstas

See Also

gleExtrusion gleTextureMode

Sample Code References

The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.

gleSetJoinStyle
OpenGL-Demo PyOpenGL-Demo/GLE/texas.py Lines: 44
OpenGL-Demo PyOpenGL-Demo/GLE/helix.py Lines: 14
OpenGL-Demo PyOpenGL-Demo/GLE/cone.py Lines: 18