<<<<<<<<<<<<<<<<<

data_iso_surface(data_set) Data Set data_iso_surface(data_set)

NAME

data_iso_surface - create one or more iso-surfaces (surface of constant value, or 3D contour)

DESCRIPTION

Data_iso_surface takes a data set (e.g., visage_data_set, plot3d_data_set, etc.) as input and creates a display_data as output. The display_data that is created represents one or more surfaces of constant scalar value, or a 3D contour. The surface value must be specified by the user.

SUPERCLASS

computed_feature

INSTANCE VARIABLES

mcube the name of the marching cube (i.e., "mcubes") object to perform the marching cubes computation.

second_scalar the name of a visage_scalar to color the generated iso-surface with. Normally the input data_set scalar is used to generate the surface(s), each surface being of a single color (since the surface corresponds to constant scalar value!) The second scalar allows the coloring of the surface with some other scalar. Note: the second scalar must be the same size as the first.

second_scalar_visibility boolean to turn on/off the effect of the second scalar.

range the range of the scalar values (min,max). Used in conjunction with the no_contours instance variable to determine the values of the iso_surface.

no_contours the number of contours (e.g., surfaces of different value) to generate. Used in conjuntion with the range instance variable to determine surface values.

MESSAGES

value=,values=(v1, v2, v3, ...) set the value(s) of the surface(s). Note that the value must fall within the range of the scalar data in the data set; otherwise, no surface will be generated.

value+,values+(v1, v2, v3, ...) add to the value(s) of the surface(s).

value?,values? get the surface value(s).

range=(min, max) set the minimum / maximum range of the scalar data.

range? set the minimum / maximum range of the scalar data.

no_contours= value set the number of surface to generate. Uses the range instance variable to compute the actual surface values (evenly divided).

no_contours? get the number of surfaces to generate.

second_scalar= visage_scalar_name set the name of the second scalar to use.

second_scalar= get the name of the second scalar to use.

second_scalar_on!/second_scalar_visibility_on! turn on the effect of the second scalar.

second_scalar_off!/second_scalar_visibility_off! turn off the effect of the second scalar.

second_scalar_visibility= value set the second_scalar_visibility boolean (!= 0 mean "on").

second_scalar_visibility= value get the value of the second_scalar_visibility boolean.

mcube=mcube_name set the name of the marching cubes class object to use for performing surface generation.

mcube=mcube_name get the name of the marching cubes class object.

EXAMPLE

In this example a plot3d data file is read and an outline and an iso surface are created.

/* * read in the data */ plot3d_reader new: areader file_prefix= case1

; /* * set up some displays */ display_iso_surface new: iso data_in= areader values= (0.016, 0.02, 0.025) ; display_surface new: draw_iso data_in= iso range= [areader range?] ; actor new: iso_actor modeller=draw_iso ; display_outline new: outline data_in= areader ; display_lines new: draw_outline data_in=outline ; actor new: outline_actor modeller= draw_outline ;

camera new: acamera position=(1,1,1) range= [areader bounds?] default! on! ;

light new: alight position=(30,30,50) on! ;

renderer new: main_renderer actors=([actor instances?]) lights=alight cameras=acamera render! ;

SEE ALSO

mcubes, computed_feature, visage_data_set, data_outline, plot3d_reader, display_data


Please send comments and suggestions to
consult@rpi.edu