GenerateSurface

Synopsis

Generates a 3D surface from a 2D Field.

Input Ports

Name Type Description

in Mesh+Data input field

Parameters

Name Type Description UI Control

threshold float The threshold level to control the surface reduction Slider

Output Ports

Name Type Description

out Mesh+Data output field of the 3D surface.

Description

GenerateSurface gernerates a 3D surface from 2D field. This module changes the coordinates of node data based on the difference between the individual node data values and the average value of all node data. Therefore, the lower node data value will change the coordinates of this node below the 2D field plane. On the other hand, the node with higher value will be above the 2D field plane. The quality of the surface can be controlled using the threshold which is a silder in the user interface. From given a 3D field, orthoslice can be usedto extract a 2D field from 3D field.

Note: This module only works for 2D fields where the velcen of the input node data is one.

Inputs

in

Reference to the input field. It has to be a 2D field with a data veclen of one.

Parameters

threshold

The threshold level controls the quality of the generated 2D surface. The values can be between 0.0 and the maximum value of the node data. The lower the value for the threshold level the higher is the quality of the generated surface.

Outputs

out

The 3D output field is a surface based on the individual node data values in 2D field data.

Utility Modules

The User Macro GenerateSurface makes use of the Functional Macro GenerateSurfaceFunc and the UI Macro GenerateSurfaceUI.

Example

An example application GenerateSurfaceEg is provided, which uses the AVS/Express sample data file wind.fld. This example uses orthoslice to extract a 2D field. Then it uses extract_component extract a single data component from the field. Finally the GenerateSurface creates the 3D surface.

Files

iac_proj/gen_surf/gsurfmod.v contains the V definitions of the GenerateSurfaceParams parameter block and the GenerateSurfaceCore module.

iac_proj/gen_surf/gsurfmac.v contains the V definitions of the GenerateSurfaceFunc Functional Macro, the GenerateSurfaceUI User Interface Macro, and the GenerateSurface User Macro.

iac_proj/gen_surf/gsurfapp.v contains the V definition of the example application GenerateSurfaceEg.

Author

Dave Goughnour
Advanced Visual Systems, Inc.

Modifications

MA YingLiang
Manchester Visualization Centre

Contact

International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL