DVexcavate_brick3d


Synopsis

perform 3D texture mapping on a 3D uniform field


group DVexcavate_brick3d {
Mesh_Unif+Dim3+Node_Data+Iparam &in { /* uniform input field */
xform+nonotify;
ndim+req;
};
int+Iparam x;
int+Iparam y;
int+Iparam z;
int+Iparam flip_x;
int+Iparam flip_y;
int+Iparam flip_z;
int+Iparam draw_sides;
Mesh+Node_Data+Oparam out { /* output field */
&xform<weight=-1> => in.xform;
};
method+notify_val+notify_inst upd_excavate_brick3d = "excavate_brick3d";
};

Description

DVexcavate_brick3d is a technique for visualizing 3D uniform volume data. The volume is displayed with three slice planes: one each in X, Y, and Z. The slice planes remove a rectangular chunk of the field, revealing the structures inside.

Texture mapping is much faster than the sampling techniques used by, for example, DVslice, particularly for large datasets. The point sampling done by the texture mapping technique is always done at the resolution of the data; thus differences in data values within a small area are not obscured as they can be with DVslice.

Input

&in

The input is a reference to a Mesh_Unif, Dim3 field with Node_Data.

x
y
z

Integers. These set the X, Y, Z position of their respective slice planes.

flip_x
flip_y
flip_z

Integers. These select whether the excavating cube should be positioned on the positive or negative axis for each of the X, Y, and Z dimensions. When the value is not 0, the cube is positioned on the negative axis.

draw_sides

An integer. When 0, only the excavating cube is drawn. When not 0, a texture map of the bounding faces of the volume is also drawn.

Output

out

The output is a new Mesh and Node_Data. u, v, w textures are added. There is a reference to the input mesh's xform.

Algorithm

DVexcavate_brick3D creates its picture of the volume data using 3D texture mapping. In this method, the boundary of the volume has three values, u, v, w, associated with each of its vertices. Where the slice planes intersect this volume, u, v, w values are computed for the vertices of the resulting solid. These values are attached to the vertices of the output object. Viewers use the u, v, w information to create the texture-mapped rendering.

Files

v/dv.v
modules/exc_brk3.c

Utility DVM macros

DVMexc_brick_param

Example

Libraries.Main.Mappers.excavate_brick3d

See also

Not applicable.