subset a volume using any number of 2D uniform grids as slicing planes
group DVplane_crop {
Mesh+Iparam &in { /* input field */
xform+nonotify;
nnodes+req;
};
Plane_Grid+Xform+Iparam &plane[]; /* slice planes */
int+Iparam in_out;
int+Iparam and_or = 1;
Mesh+Node_Data+Oparam out { /* output field */
&xform<weight=-1> => in.xform;
};
method+notify_val+notify_inst upd_plane_crop = "plane_crop";
};
DVplane_crop subsets a field by outputting all whole cells that are inside or outside a volume created by an unlimited number of slice planes.
The input is a field with any Mesh. Node_Data is optional.
An array of references to any number of Plane_Grids that will slice the volume. A Plane_Grid is defined as Grid_Unif+Space2+Dim2. It is therefore any 2D uniform grid.
An integer. When this value is not 0, then the entire cell intersected by a plane is output. If it is 0, then the entire cell is not output.
An integer. When this value is not 0, the cells inside the slicing planes are output. If it is 0, then the cells outside the slicing planes are output.
The output is a new Mesh and Node_Data that is the plane-cropped input Mesh, plus any Node_Data for the output nodes. The mesh contains a reference to the input field's xform.