
NAME : cylinder

AUTHOR : Beth Hess under the supervision of Dr. Susanna Wei
	 St. Joseph's University

NOTE : This module is a modification of the cylinders module #1298 written by
       Eric Sills of the North Carolina Supercomputing Center.
       The computations have not been altered in any way.  The original module 
       read data from a data file.  The new version adds widgets to enter the
       data and write the data to a file.  It also has the capability to
       change the active cylinder's color to red to identify this cylinder.

SUMMARY :
	Name		cylinder
	Type 		Input
	Inputs		None
	Outputs		geom

	Parameters
	Name		Type		Default		Min/Max/Choices
	nsides		islider		  20		  4	72
	data_file	browser		
	read_write	radio_buttons	write		read:write
	cylinder	typein_integer	  20		  0	20
	color_on	toggle		   0		  0	 1
	x		typein_real	 0.0		-50.0	50.0
	y		typein_real	 0.0		-50.0	50.0
	z		typein_real	 0.0		-50.0	50.0
	radius		typein_real	 0.0		  0.0	50.0
	height		typein_real	 0.0		  0.0	50.0
	rot x		typein_real	 0.0	       -360.0  360.0
	rot y		typein_real	 0.0	       -360.0  360.0

DESCRIPTION :

This module creates cylinders when a midpoint, radius and height are entered.

Steps to create cylinders :
	1. select a cylinder number
	2. enter the midpoint coordinates
	3. enter the radius and height values
	4. enter the x and y rotation values
	5. write the parameters to a data_file from which the data can be
	   read, altered and rewritten.


NOTE :

Each cylinder is a separate object.

Cylinders are generated along the z axis.  The x and y rotation values are a
reminder to rotate the cylinder in the geometry viewer.

Once a cylinder number is selected, it is possible to select color_on which will
change the color of the selected cylinder from white to red.  In this manner
it is possible to determine which is the current (active) cylinder.

A cylinder may be deleted by setting its radius parameter to zero.

PARAMETERS :

nsides (islider)
This is the number of rectangles that make up the sides of the cylinder.  A
large nsides value will produce a round cylinder.

data_file (browser)
This is a file browser which is used to select the read or write file.

read_write (radio_buttons)
Select read or write in connection with the selected data_file browser.

cylinder (typein_integer)
Select the current cylinder number.  The first cylinder is cylinder number 0.

color_on (toggle)
Turn on this toggle to change the color of the current cylinder from white to
red.

x, y, z (typein_real)
These are the midpoint coordinates of the active cylinder.

radius (typein_real)
This is the radius of the cylinder.

height (typein_real)
This is the height of the cylinder.

rot x (typein_real)
This is the number of degrees of rotation around the x axis to place the
cylinder in the desired location.  The parameter is a reminder to perform the
rotation in the geometry viewer.

rot y (typein_real)
This is the number of degrees of rotation around the y axis to place the
cylinder in the desired location.  The parameter is a reminder to perform the
rotation in the geometry viewer.

OUTPUTS :

This module outputs a geom which is a collection of cylinder objects.

EXAMPLE NETWORKS :

		cylinder
		   |
		geometry viewer

