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 ); };
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.
&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.
out
Output field containing all the coordinates and a Point Mesh.
The ClusterProbeCreate low-level module is used within the User Macros cluster_probe and cluster_probe_edit.
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.
iac_proj/cprobe/cprbmods.v contains the ClusterProbeMerge module V definition.
The low-level ClusterProbeMods library containing the module ClusterProbeMerge does not specify a process. By default the express process will be used.
Paul G. Lever International AVS Centre
Paul G. Lever International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL
cluster_probe, cluster_probe_edit and ClusterProbeUI.