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

visage_data_set(visage)Scientific Visualizationvisage_data_set(visage)

NAME

visage_data_set - set of VISAGE data consisting of geometry, scalar, and vector

DESCRIPTION

Visage_data_set serves to group data. It is composed of three VISAGE data objects: geometry (e.g., structured grid), scalar (e.g., visage_scalar), and vector (e.g., visage_vector). In addition, there are place holders for additional scalars and vectors to be associated with the geometry.

Visage_data_set is used by both the VISAGE and DISPLAY classes. In the VISAGE classes, displays (e.g., visage_vector_field) are associated with the data set using the displays instance variable, and operate on the data set to generate images.

In the DISPLAY classes, the data set serves as the input (i.e., data_in) for the computed_feature classes (e.g., display_geometry). The output of the computed_features classes can then be directed through filter networks to produce visual displays.

Visage_data_set provides many delegation methods. For example, there are methods that are sent to the geometry, scalar, and vector data (e.g., "tick!", time=", etc.) or send to a particular one (e.g., "bounds?" to the geometry, "range?" to the scalar data).

SUPERCLASS

visage_display

INSTANCE VARIABLES

geometry a VISAGE geometry object such as structured_grid_set, unstructured_grid_set, structured_point_set, unstructured_point_set, and tagus. Required to be processed by other objects.

scalar_data a VISAGE scalar object such as visage_scalar or generic_data. Not required except in special cases.

vector_data a VISAGE vector object such as visage_vector or generic_data. Not required except in special cases.

available_scalars a list of other scalars associated with the geometry. Not required.

available_vectors a list of other vectors associated with the geometry. Not required.

displays a list of visage_computed_feature objects (e.g., visage_vector_field) that operate on the data set and generate images. Required when using the visage_computed_feature objects, otherwise not required.

MESSAGES

geometry= geometry name Set the geometry for the data set.

geometry? Get the name of the geometry for the data set.

scalar_data= scalar name Set the scalar data for the data set.

scalar_data? Get the name of the vector data for the data set.

vector_data= vector name Set the vector data for the data set.

vector_data? Get the name of the vector data for the data set.

available_scalars=,+,- scalar name Set/add/delete the scalar data from the list of available scalars.

available_scalars? Get the list of available scalars.

available_vectors=,+,- vector name Set/add/delete the vector data from the list of available vectors.

data? Get the object pointers for the geometry, scalar, and vector data. Used internally.

bounds? Return the bounding box of the data. Sent to the geometry.

range? Return the scalar range of the data. Sent to the scalar_data.

max_length? Return the maximum vector length of the data. Sent to the vector_data.

compute_properties! Have the geometry, scalar, and vector data compute their properties.

tick! Have the geometry, scalar, and vector data retrieve their next data.

time[=/?] Set/get the time for the geometry, scalar, and vector data.

start_time[=/?] Set/get the start time for the geometry, scalar, and vector data.

end_time[=/?] Set/get the end time for the geometry, scalar, and vector data.

no_steps? Get the number of time steps for this geometry.

cycle_on!,cycle_off! Turn on/off data cycling

time_variant!,time_invariant! Set the data to be time varying (or not).

available_vectors? Get the list of available vectors.

displays=, displays+, displays- data_set_name Set/add/remove the visage displays from the collection of displays.

displays? Get the list of displays.

mtime? Get the modified time of this object (queries all its displays).

load: renderer_instance Cause the displays to draw themselves. The renderer_instance is the name of the renderer requesting the load. This method should only be used by class developers.

ambient= value Specify the ambient light component for all displays.

ambient? Get the ambient light component.

color= (r,g,b) Set the color for all displays in terms of red, green, and blue components. The value of these components should range between (0,1). In VISAGE, the color will only be apparent if there is no scalar data coloring the displays, or the scalar visibility is off.

color? Get the color of the object as fractions of red, green, blue.

diffuse= value Set the diffuse light value for all displays.

diffuse? Get the diffuse light value for all displays.

specular= value Set the specular light value for all displays.

specular? Get the specular light value for all displays.

specular_power= value Set the specular power value for all displays.

specular_power? Get the specular power value for all displays.

transparency= value Set the transparency for all displays. Some renderers don't support this, or support only with gouraud shading. Value ranges between (0,1), 1 being opaque.

transparency? Get the transparency for all displays.

points! All displays are represented as points. Not supported by all renderers.

wireframe! All displays are represented as wireframe. Not supported by all renderers.

surface! All displays are represented as a surface.

representation? Get the representation value.

flat! The shading method is flat

gouraud! The shading method is gouraud.

phong! The shading method is phong. Not supported by all renderers.

interpolation? Get the shading method value.

EXAMPLE

The following shows two script fragments for using visage_data_set. The first uses the visage_computed_feature objects.

/* * Create VISAGE data group hierarchy consisting of a single data * group, a single data set, and an outline, geometry, and iso-surface * display. */ visage_data_set new: data_group data_sets=data_set_1 ;

visage_data_set new: data_set_1 displays=(border,g1,iso) geometry= grid scalar_data= pressure vector_data= velocity ;

visage_outline new: border color=(1,0,0) ; visage_geometry new: g1 extent=(1,1,1,3,1,4) ; visage_iso_surface new: iso value=2.0 ;

The second example shows the visage_data_set used with the display classes.

/* * Create a filter network of a geometry, hedgehog, and line drawer. */ visage_data_set new: data_set_1 geometry= grid scalar_data= pressure vector_data= velocity ; display_geometry new: g1 data_in=data_set_1

extent=(1,10,1,1,1,15) ; hedgehog new: hhog data_in=g1 scale_factor=0.1 ; display_lines new: draw_lines data_in=hhog ; actor new: hhog_actor modeller=draw_lines ;

SEE ALSO

visage_data_group, visage_display, visage_computed_feature, visage_geometry, display_feature, display_filter, display_modeller, computed_feature


Please send comments and suggestions to
consult@rpi.edu