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.)
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.
surface new:surf data_in=[case1_geo data_out?];
actor new: act modeller=surf;