This module can be used to interactively color an isosurface by picking on its image in the window of the Render module. This can be useful for highlighting particular areas or nodes in an isosurface.

The module works by preparing a suitable lattice to pass to the Color Lattice port of the IsosurfaceLat module. In this mode, IsosurfaceLat also requires a colormap (typically from the GenerateColormap module) to be passed to its Colormap port.

IsoColor takes as input the same lattice that is passed to IsosurfaceLat, and creates an output lattice having the same coordinates, but with its data portion filled with zeros. This lattice should be passed to both the Data In port of GenerateColormap and the Color Lattice port of IsosurfaceLat (and the output colormap from GenerateColormap should be passed to the Colormap port of IsosurfaceLat). IsosurfaceLat will then use the color from the lower end (corresponding to a data value of zero, by default) of the colormap to color the whole of the isosurface.

As the user picks a point on the isosurface displayed in the Render window, the module looks up the closest node in its output lattice and sets the data value there to unity. The IsosurfaceLat module will then use the color from the upper end (corresponding to a data value of unity, by default) to color the appropriate points on the isosurface. By repeating the operation, larger areas on the isosurface can be colored.

The size of the area colored in one click depends on the arrangement of the geometry in the isosurface. To see the nodes in the geometry, display the geometry of the surface in wireframe using the Draw Style option on Render's pop-up menu.

Use the LEFT mouse button for picking.


Port: Input Data
Type: Lattice
Constraints: 3-D
Constraints: 1-vector
This should be the same lattice that is passed to IsosurfaceLat::Input. It can be of any primitive type.

Port: Pick
Type: Pick
Optional: This port is optional.
Input pick data (e.g. from Render), which is used to determine the point in 3D space to be colored.


Port: Mode
Type: Option Menu
Menu Item: Clear
Menu Item: Add
Menu Item: Remove
Switch change mode for coloring the surface. Selecting Clear re-initialises the the output lattice to all zeroes, which in turn resets the whole isosurface to the same color. Selecting Add allows the user to interactively add color to the isosurface. Selecting Subtract allows the user to selectively reset parts of the output lattice to zero - i.e. the color of the corresponding parts of the isosurface is reset to the original color.


Port: Output Lattice
Type: Lattice
Constraints: 3-D
The color lattice, to be passed to GenerateColormap::Data In and IsosurfaceLat::Color Lattice.


Coloring a large surface can take a long time. Best results will be achieved with a colormap which has just two colors in it - one to highlight the region of interest, and the other for the rest of the isosurface. If there is a gradual change in the colormap from one of these colors to the other, this will be reflected in the coloring applied to the surface, since IsosurfaceLat interpolates the colors when creating the surface. In addition, it is sometimes helpful to switch off smooth shading in IsosurfaceLat.


IsosurfaceLat, GenerateColormap, Render.
[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000