DVglyph


Synopsis

produce scaled, colored glyphs at single component node locations


module DVglyph { /* produces scaled, colored glyphs at nodal locations */

     Mesh+Node_Data_Opt+Iparam &in {      /* input field */

           nnodes+req;

           nspace+req;

           coordinates+req;

           coordinates.values+req;

     };

     Mesh+read+IPort2 &glyph;      /* glyph geometry */

     int+Iparam vector;      /* toggle to transform glyph by vector data */

     int+Iparam glyph_comp;      /* glyph data component */

     int+Iparam map_comp;      /* color glyph by data */

     int+Iparam scale_comp;      /* scale glyph by data */

     float+Iparam scale;      /* scale factor applied to glyph */

     int+Iparam scale_x; /* do scale in x */

     int+Iparam scale_y; /* do scale in y */

     int+Iparam scale_z; /* do scale in z */

     int+Iparam normalize;      /* toggle to normalize glyphs */

     Mesh+Node_Data+Oparam out { /* output field */

           xform+nowrite;

     };

     method+notify_val+notify_inst glyph_mod_update<status=1> = "DVglyph_update";

};

Description

DVglyph places a geometrical object at each node of an input field so that node locations can be easily identified. The glyph can be sized and colored according to the selected data component at each node.

When combined with other base modules such as DVinterp_data, and vector base modules such as DVstreams, DVglyph acts like a "hedgehog"function.

Input

&in

A reference to a field with any type of mesh plus Node_Data

&glyph

A reference to a mesh describing the geometry of the glyph. Any mesh can be used (for example, that of a teapot) but for convenience you can use one of the geometries in Geometries, such as Arrow1, Arrow2, or Cross3D.

vector

An integer. If the value is not zero, the glyph (for example, an arrow) will be rotated to point at the direction of the data vector at that node. Scalar vectors rotate along the X axis, 2 element vectors along the XY axes, and 3 element vector components along all three axis.

glyph_comp

An integer. Selects which component to use to draw and orient the glyph. The component can be scalar or vector.

map_comp

An integer. Selects which component to use to color the glyph.

scale

A float. This value adjusts the sizes of the glyphs.

scale_comp

An integer. Selects which component to use to scale the glyphs.

scale_x

An int. This value adjusts the sizes of the glyphs in the x-dimension.

scale_y

An int. This value adjusts the sizes of the glyphs in the y-dimension.

scale_z

An int. This value adjusts the sizes of the glyphs in the z-dimension.

normalize

An integer. If the value is zero, the sizes of the glyphs will be proportional to the data component values at each node. If the value is not zero, all glyphs are the same size.

Output

out

The output is a new object that contains an unstructured mesh (mesh type Mesh) that is the meshes of all the glyphs. It also contains a new Node_Data consisting of the magnitude of the single component's data values.

Files

v/dv.v
modules/glyph.c

Utility DVM macros

DVMglyph_param

Example

Libraries.Main.Mappers.glyph
Libraries.Main.Mappers.probe
Libraries.Main.Mappers.advector

See also

Not applicable.