ClusterProbeCreate

Synopsis

The ClusterProbeCreate module inputs two glyphs and replicates the second glyph at each of the coordinates in the first grid, using that point as the origin of each instance of the second glyph.


module ClusterProbeCreate <src_file="cprobe.cxx"> {
  Grid+Xform &in_base <NEportLevels={2,0}>;
  Grid+Xform &in_glyph <NEportLevels={2,0}>;
  Mesh+Xform 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));
    };
    &xform => <-.in_base.xform;
  };
  cxxmethod+notify_inst+req update (
    in_base+read+notify+req,
    in_glyph+read+notify+req,
    out+write );
};

Description

Inputs two Grids and Xforms (glyphs) and replicates the second glyph at each coordinate of the first glyph. This allows clustered probes (glyphs) to be generated and used as a single input to modules such as streamlines and advect.

The xform of the second glyph is applied to each coordinate of the second glyph, so that it can be transformed (usually scaled) relative to the base (first) glyph. For example this allows a box glyph to replicated at each point on a plane object, producing an array of boxes, or a sphere glyph could be repeated along a multi-segment line object. Such clustered glyphs can be used as probes for use with modules such as streamlines and advect. The module also generates a Point mesh, so that each point may be rendered.

Inputs

&in_base

Input of Grid (coordinates) and a corresponding Xform, to be used as the base (origin) for all instances of the replicated second glyph.

&in_glyph

Input of Grid (coordinates) and a corresponding Xform, to be used as the glyph to be replicated.

Outputs

out

Output field containing all the coordinates and a Point Mesh.

Utility Macros

The ClusterProbeCreate low-level module is used within the User Macros cluster_probe and cluster_probe_edit.

Example

An example application ClusterProbeEg is provided, which shows a Plane and a Box glyph combined to form a single probe. The Box glyph is replicated at each point within Plane. The example uses the cluster_probe_edit user macro which includes the Transformation Editor UI, and the scale of the Box has been set to 0.05.

Files

iac_proj/cprobe/cprbmods.v contains the ClusterProbeMerge module V definition.

Other Notes

The low-level ClusterProbeMods library containing the module ClusterProbeMerge 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

cluster_probe, cluster_probe_edit and ClusterProbeUI.