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

visage_geometry(lymb) LYMB visage_geometry(lymb)

NAME

visage_geometry - computed feature that creates surface information

DESCRIPTION

visage_geometry takes a visage data set and creates a surface at a given position. It also stores normal, vector and scalar information. Scalar data can be used to color the surface while vector data can be used to distort it.

Usually, the triangle strips that make up the surface look like this: _________________________ |/|/|/|/|/|/|/|/|/|/|/|/|

Sometimes an undesireable aliasing effect can occur when the scalar values change more rapidly along the diagonals than in the opposite direction. To account for this, two alternative algorithms are provided for determining the orientation of the triangle strips.

In diag_by_scalarval mode, each time the algorithm determines that the scalar value changes more rapidly along the next diagonal, it terminates the triangle strip and begins a new one oriented in the opposite direction. The above triangle strip might end up looking like this:

_________________________ |/|/|/|\|\|\|\|/|/|/|\|\|

Diag_by_geom mode works well when the geometry is non- uniform and points are laid out in a way such as the following:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

In this situation, the direction of the diagonals will alternate (in this case from row to row) so that the diagonals occur between the points that are physically closer together. (In this case, all the triangles would be isosceles.)

SUPERCLASS

modeller

INSTANCE VARIABLES

extent the i,j,k minimums and maximums.

MESSAGES

extent= sets the extent

extent? returns the extent

diag_fixed! Use the default strip generating algorithm

diag_by_geom! Generate triangle strips to suit the geometry of the surface

diag_by_scalarval! Generate triangle strips to suit the scalar data of the surface

structure_grid_set: is called by generate_data to create the display_data.

EXAMPLE

grid_geometry new: case1_geo data_in=case1_gridset01 extent=(15,15,1,18,1,16) generate_data!;

surface new:surf data_in=[case1_geo data_out?];

actor new: act modeller=surf;

SEE ALSO

byu


Please send comments and suggestions to
consult@rpi.edu