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";
};
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.
The input is a reference to a Mesh_Unif, Dim3 field with Node_Data.
Integers. These set the X, Y, Z position of their respective slice planes.
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.
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.
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.
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.
Libraries.Main.Mappers.excavate_brick3d