DVplane_crop


Synopsis

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";
};

Description

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.

Input

&in

The input is a field with any Mesh. Node_Data is optional.

&plane[]

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.

in_out

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.

and_or

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.

Output

out

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.

Files

v/dv.v
modules/pln_crop.c

Utility DVM macros

DVMplane_crop_param

Example

Not available.

See also