The BodyOfRevolution module rotates two polylines around the z-axis to form a "solid" body of revolution. The routine also calculates the mass properties for the body. The body is generated for 360 degrees of revolution.
Input Ports
Name Type Description r_outside float[] Radii of the outside surface of the body of revolution at the z-positions given by z_outside. z_outside float[] Position of the next fixed points along the z-axis describing the inside and outside radius. r_inside float[] Radii of the inside surface of the body of revolution at the z-positions given by z_outside.
Parameters
Name Type Description UI Control active int Enables or disables the BodyOfRevolution module. Subdivision int Number of faces that generate the surface of the body of revolution. Slider nose_cap_on int Toggles a semisphere on the end of the body of revolution. CheckBox density float The density property is used for the mass calculation. TextField Output Ports
Name Type Description mass float Mass Property of the Body of revolution. out Mesh Grid and mesh containing the Body of revolution surface. obj DataObject Directly renderable object generated from the out mesh.
BodyOfRevolution rotates "inside" and "outside" polylines around the "z" axis to form a "solid" body of revolution. The routine creates surfaces and the appropriate normals for the inside, outside, and end caps (if required). The outside polyline line is required. The routine also calculates the mass properties for the body. The body is generated for 360 degrees of revolution only.
r_outside[]
Radii of the outside surface of the body of revolution at the z-positions given by z_outside.
z_outside[]
Positions of the fixed points along the z-axis, on which a radius for the inside and outside surface is given.
r_inside
Radii of the inside surface of the body of revolution at the z-positions given by z_outside.
active
Enables or disables the BodyOfRevolution module.
nose_cap_on
Toggles a semisphere on the end of the body of revolution.
Subdivision
Number of faces that generate the surface of the body of revolution.
density
The density property is used for the mass calculation.
mass
Mass Property of the Body of revolution. This mass property is calculated from the volume of the body of revolution and the density parameter given by the user. This calculation is currently limited to the use of identical z-positions for the inside and outside radius. Therefore there is no z_inside Input array.
out
Grid and mesh containing the Body of revolution surface. This output can be used for further processing.
obj
Directly renderable object generated from the out mesh. This output can be connected directly to the UViewer to get a rendered image.
An Example Application that uses the BodyOfRevolution module is provided. This Application generates a body of revolution surface from the given inner and outer radii using the z positions given by the third array. The example arrays are fixed in the application.
iac_proj/bodofrev/bodofrev.v Creates the IAC_PROJ.BodyOfRevolution library.
iac_proj/bodofrev/bofrmods.v Creates the BodyOfRevolutionMods library containing the low-level module BodyOfRevolutionCore and the parameter block BodyOfRevolutionParams.
iac_proj/bodofrev/bofrmacs.v Creates the BodyOfRevolutionMacs library containing the high-level functional macro BodyOfRevolutionFunc, user interface macro BodyOfRevolutionUI and the user macro BodyOfRevolution.
iac_proj/bodofrev/bofrapps.v Creates the BodyOfRevolutionApps library containing the example application BodyOfRevolutionEg.
The low-level BodyOfRevolutionMods library containing the module BodyOfRevolutionCore does not specify a process. By default the express process will be used.
Brian Selle, Leon Thrane, Ian Curington Advanced Visual Systems Inc.
Paul G. Lever Manchester Visualization Centre Tobias Schiebeck International AVS Centre
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL