The input dataset may or may not have associated location data. If no location data is present, locations are computed as a function of the grid index. For example, if the input data has no location data, and the dimensions of the value segement are: width=32; height=48; depth=24; elements=1; time=1, then the coordinates for the output geometry will be in the range [0..31] in X; [0..47] in Y; and [0..23] in Z.
This module has been written so that it processes data in "slices" of constant W (where the three logical dimensions of data can be indexed using (u,v,w)). The data for a given slice is not "read in" (from the input transport mechanism) until it is actually needed. Output is buffered, and the result is that it is possible to compute isosurfaces for very large datasets.
This module is an implementation of the "marching cubes" algorithm for isosurface generation. The "fixes" identified in later Siggraph papers have not been implemented.
The user may provide an explicit name (text string) for the resulting geometry object. This name may be available to assist in object identification and manipulation in a downstream renderer, depending upon which one is being used.
The geometry produced by this module consists of one or more primitives consisting of disjoint triangles, along with normals (if the user has elected to have them created, which is the default and will result in much better images than when the renderer computes the normals), but no color. In later releases of this module, we will support coloring of the surface according a function of a second variable (dataset).