MultiProbeMerge

Synopsis

Inputs an array of Grids (and Xforms) and merges all of the coordinates into one composite grid object. This allows multiple probes (glyphs) to be merged and used as a single input to modules such as streamlines and advect.


module MultiProbeMerge <src_file="mprobe.cxx"> {
  Grid+Xform &in <NEportLevels={2,0}>[];
  int ngrids => array_size( in );
    
  Mesh out <NEportLevels={0,2}> {
    nspace = 3;
    ncell_sets = 1;
    Cell_Set+Point cell_set[ncell_sets] {
      ncells => <-.nnodes;
      node_connect_list => init_array( ncells, 0, (ncells-1));
    };
  };
  cxxmethod+notify_inst+req update (
    in+read+notify+req,
    ngrids+read+req,
    out+write );
};

Description

Inputs an array of Grids (and Xforms) and merges all of the coordinates into one composite grid object. This allows multiple probes (glyphs) to be merged and used as a single input to modules such as streamlines and advect.

For each grid in the input array of grids, each transformation matrix is applied to the corresponding set of coordinates, to map all the coordinates into a unified coordinate space.

The output is a grid containing all of the input coordinates, and a Point mesh, so that the positions of each coordinate can be viewed. Connectivity of coordinates is not copied across to the output.

The multi_probe data object has its transformation mode set to Parent, so that the coordinates cannot diverge from the original probe positions. Turn this back to Normal to move the multi-probe as a whole.

Inputs

&in

Input array of Grids (coordinates) and a corresponding Xform.

Outputs

out

Output field containing all the coordinates and a Point Mesh.

Utility Macros

The MultiProbeMerge low-level module is used within the User Macro multi_probe.

Example

An example application MultiProbeEg is provided, which shows a Sphere and a Box glyph combined to form a single probe into the Bluntfin example dataset, to generate streamlines. The white objects show the original input glyphs, which may be picked and transformed, and the red points show the combined coordinates of the multi_probe object.

Files

iac_proj/mprobe/mprbmods.v contains the MultiProbeMerge module V definition.

Other Notes

The low-level MultiProbeMods library containing the module MultiProbeMerge does not specify a process. By default the express process will be used.

Author

Paul G. Lever
International AVS Centre

Contact

Paul G. Lever
International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL

See Also

multi_probe.