Isoline_UCD

Author

Mike French (Evans & Sutherland)

Summary


             Isoline UCD

     Type:        mapper 
 
     Inputs:      ucd            ucd  (scalar node values)

                  colormap       colormap (optional)

                  levels         field 1D uniform scalar float (optional)

     Outputs:     contours       geometry 

                  colormap       colormap (with updated range)

                  name           type     default      choice list
		  ----           ----     -------      -----------

     Parameters:  offset flag    choice   'No offset'  'No offset' 
						       'Facet' 
					               'Vertex' 

                                                    min      max
					            ---      ---

                  offset value   real     0.0035    0.0001   0.0050

                  N contours     integer  10        2        20

Description

A set of contour lines are drawn on the exterior faces of a UCD.

The UCD must have a single scalar component of node data. To extract a single scalar component of node data from a composite ucd use the UCD EXTRACT module. There is no module available to extract a scalar component from a vector component.

The data values for the contours are taken from the 'levels' input field. If this input is not present, then the range of the scalar node data range is divided equally to generate N contour levels. There are always at least two contours. If the levels are generated locally then the first and last contour levels are always at the minimum and maximum data values, so these will never be seen. This method is used for compatability with the ISOBAND UCD module. If the levels are generated in an INTERVALS UCD module, the local 'N' control parameter is removed.

If the colour map input is not connected, the contour lines will default to black. If a colour map is present then the scalar node data range is mapped on to the colour value range. Use the COLOR RANGE UCD module to set the colormap lo/hi values automatically.

If the colour value range has been set using the COLOR RANGE UCD module, the colormap range and the node data range will match exactly: the band below the minimum level is given the first colour index; and the band above the maximum level is given the last colour index. In general, these underflow/overflow bands will not be visible on the UCD.

If the colour value range is completely within the UCD data range, there may be duplicated colours at the bottom and top of the range. If the scalar node data range is completely within the colormap range, the contour colours will be a restricted subset of the full gamut of colours.

If the offset flag is set to 'Facet', the lines will be displaced along the local geometrical facet normal, each line on the facet will be moved in the same direction. If the flag is set to 'Vertex' each vertex of the contour line will be moved along a notional vertex normal, calculated by joining the centre of the cell to the vertex: an explosion outward from the cell centre.

The Facet method is good for planar sets of faces, but leaves gaps at external corners, and overlaps at internal corners. The Vertex method is slightly slower than the Facet method, it maintains continuity at external corners, but produces overlaps at planar boundaries and internal corners.

The magnitude of the displacement is controlled by the 'offset' parameter. The default value (0.0035) will be generous for most viewing conditions, when zooming on a small region the offset should be reduced, when viewing the whole ucd with faces tilted at shallow angles, the offset should be increased. If the method is 'No offset' this dial is removed from the user interface page.

The colormap output port has levels adjusted by the contour levels.

Method

See ISOLINE SLICE for details of the contouring method.

Bugs

When the 'Vertex' method is used on UCDs that have been cropped, the contours can be displaced inside the surface, where they are invisible. This is because the AVS4 utility routine 'ucd_rm_interior_polys' can associate an external face with a cell which lies outside the surface and has been cropped. Thus when the cell-centre to face-vertex direction is calculated it can point into the 'external' surface.

EXAMPLES

a) colour contour bands: use the COLOR RANGE UCD module to set the colormap range to match the ucd scalar node data.


                                    READ UCD
                                        |
        GENERATE COLORMAP       UCD EXTRACT
                     |                  |
                     |    .-------------o
                     |    |             |
                COLOR RANGE UCD         |
                          |             |
                          |         UCD CROP
                          |         |   |
                          |  .----------'
                      .   |  |      |
                      ISOBAND UCD   |
                             |      |
                             `------o
                                    |
                         GEOMETRY VIEWER

b) black contour lines over coloured isobands: use the COLOR RANGE UCD module to set the colormap value range; set the contour levels globally using the INTERVALS UCD module; use the STATISTICS module to provide a ucd diagnostics

    READ UCD
                                        |
        GENERATE COLORMAP        UCD EXTRACT
                     |                  |
                     |    .-------------o-----------------.
                     |    |             |		  |
                 COLOR RANGE UCD    UCD CROP     INTERVALS UCD
                          |         |   |                 |
                          |  .----------o-----.           |
                          |  |      |         |           |
                      .-----------------o-----------------o
                      |   |  |      |   |  .  |           |
                      ISOBAND UCD   |  ISOLINE UCD   STATISTICS
                             |      |         |
                             `------o---------'
                                   |
                         GEOMETRY VIEWER