DVplane_dist


Synopsis

compute distance from all nodes to a plane


group DVplane_dist {
Mesh+Iparam &in {
nnodes+req;
};
Plane_Grid+Xform+Iparam &plane;
Node_Data+Scalar+Float+Oparam out;
float+Oparam dist;
method+notify_val+notify_inst upd_plane_dist = "plane_dist";
} ;

Description

DVplane_dist is an underlying utility base module that, combined with DViso, is widely used in slicing and cutting operations.

DVplane_dist requires an input plane and an input field. This plane, considered to be infinite, is positioned somewhere in space, likely slicing through the volume of the input field. DVplane_dist then calculates the distance from the plane to every node in the input field. "Distance" is measured along the normal (90 degrees) to the plane. These distances are output as a Node_Data.

When passed to the isosurfacing base module DViso, the field can be cut or sliced in two by finding everywhere that the isosurface level = 0 (meaning that the distance from the node to the plane is 0, or, in other words, the node is on the slicing plane).

Input

&in

The input is a reference to a field containing a mesh of any type.

&plane

This input is a reference to a Plane_Grid, such as that generated by Geometries.FPlane.

Output

out

This output is a new Node_Data of scalar floats whose values are the distance from the plane to each node in the original data.

dist

A float. The distance from the plane to the origin (0, 0, 0 index) of the data.

Files

v/dv.v
modules/pln_dist.c

Example

Libraries.Main.Mappers.slice
Libraries.Main.Mappers.cut

See also