1gle(3GLE)                             GLE                            gle(3GLE)
2
3
4

NAME

6       gle - an introduction to the GLE Tubing & Extrusions Library
7

SYNOPSIS

9       #include <GL/gle.h>
10

DESCRIPTION

12       The GLE Tubing and Extrusion Library is a graphics application program‐
13       ming interface (API). The library consists of a number of "C"  language
14       subroutines  for drawing tubing and extrusions. The library is distrib‐
15       uted in source code form, in a package that includes  documentation,  a
16       VRML  proposal,  Makefiles,  and  full source code and header files. It
17       uses the OpenGL (TM) programming API to perform the actual  drawing  of
18       the tubing and extrusions.
19
20       A  "sweep"  or  "extrusion" is a 2D contour (polyline) that is swept or
21       extruded along a 3D path (polyline). For  example,  sweeping  a  circle
22       along  a  straight  line  will  generate a cylinder.  Sweeping a circle
23       along a circular path will generate a doughnut (torus).
24
25       The library also includes a set of utility routines for drawing some of
26       the more common extruded shapes: a polycylinder, a polycone, a general‐
27       ized torus (circle swept along a helical path),  a  "helix"  (arbitrary
28       contour  swept  along  a helical path) and a "lathe" (arbitrary contour
29       swept along a helical path, with  torsion  used  to  keep  the  contour
30       aligned).
31
32       The  most  general  extrusion supported by this library allows an arbi‐
33       trary 2D contour to be swept around an arbitrary 3D path. A set of nor‐
34       mal  vectors  can be specified to go along with the contour; the normal
35       vectors determine the appearance of the contour when lighting is turned
36       on.  A  set  of colors and affine matrices can be specified to go along
37       with the 3D path.  The colors are used to color along  the  path.   The
38       affine  matrices  are  used  to  operate  on the contour as it is swept
39       along. If no affine matrices are specified,  the  contour  is  extruded
40       using  the  mathematical concept of "parallel translation" or "Gaussian
41       translation". That is, the contour  is  moved  (and  drawn)  along  the
42       extrusion  path  in  a "straight" manner. If there are affine matrices,
43       they are applied to the contour at each extrusion  segment  before  the
44       segment is drawn.
45
46       The  affine  matrices  allow  work in a quasi-non-Euclidean space. They
47       essentially allow the contour to be distorted as it is swept along. The
48       allow  the  contour  to  be  rotated,  translated and rescaled as it is
49       drawn. For example, a rescaling will turn a polycylinder into  a  poly-
50       cone,  since the circle that is being extruded is scaled to a different
51       size at each extrusion vertex. A rotation allows the contour to be spun
52       around while it is being extruded, thus for instance allowing drill-bit
53       type shapes to be drawn. A translation allows the appearance of  shear‐
54       ing in real space; that is, taking a contour and displacing it, without
55       otherwise bending it. Note that the affines are 2x3 matrices,  not  3x4
56       matrices, since they apply to the 2D contour as it is being extruded.
57

WEB SITE

59       http://linas.org/gle/index.html
60

SEE ALSO

62       gleExtrusion, gleHelicoid, gleLathe, glePolyCone, glePolyCylinder, gle‐
63       Screw, gleSetJoinStyle, gleSpiral,  gleSuperExtrusion,  gleTextureMode,
64       gleToroid, gleTwistExtrusion, gleTwistExtrusion, gleSuperExtrusion
65

AUTHOR

67       Linas Vepstas (linas@linas.org)
68
69
70
71GLE                                   3.0                            gle(3GLE)
Impressum