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.
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. |
|
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 |
|
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