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_64//../foldersrc/nst_solid.c