NAME
make_link - render a link-object
PROTOTYPES
unitptr make_link0(float geo[], int n, unitptr host)
unitptr make_link1(float geo[], int n, unitptr host)
unitptr make_link2( float geo[8], int n, unitptr host)
ARGUMENTS
- float geo[]
-
- int n
- number of edges used when approximating circles
- unitptr host
- host unit for newly created instance
- float geo[8]
- array specifying shape parameters
RETURN VALUE:
- unitptr u:
- pointer to newly created unit
DESCRIPTION:
Creates a unit execution of which renders a "link-object"
consisting of two cylindrical parts joined by a third,
prismatical piece. Three different types of link objects,
differing in the relative orientation of the two cylinder
axes, are available:
- link1:
- axis1 = z, axis2 parallel to z-axis, passing through
the point x=geo[8], y=z=0.
- link2:
- axis1 = y, axis2 parallel to z-axis, passing through
the point x=geo[8], y=z=0.
- link3:
- axis1 = z, axis2 parallel to x-axis, passing through
the point x=y=0, z=geo[8].
The joining part is a rectangular prism. In all three
cases, the components of array geo[] have the following
meaning:
geo[0]: radius r1 of cylinder 1
geo[1]: length l1 of cylinder 1
geo[2]: width1 of joining part, in units of r1
geo[3]: length1 of joining part, in units of l1
geo[4]: radius r2 of cylinder 2
geo[5]: length l2 of cylinder 2
geo[6]: width2 of joining part, in units of r2
geo[7]: length2 of joining part, in units of l2
geo[8]: distance of cylinder centers
EXAMPLES:
The program logo.c uses the make_link1 -unit to generate
three-dimensional "strokes" for rendering a text consisting
of three-dimensional letters.
FILE
/local/homes/rhaschke/nst7/man/../o.linx86//../foldersrc/nst_solid.c