ClipPyr

DESCRIPTION

This module takes an input pyramid and generates a result pyramid by cutting the input with an arbitrarily oriented plane. The output pyramid comprises all input elements intersecting or to one side of the cutting plane, depending on the value of the Side widget.

Depending on the value of the Interpolate widget, output elements that intersect the clipping plane are left whole or clipped to the orientation given by Side. Clipped elements have new vertices generated by linear interpolation along the intersected edge. The clipped edges cause clipped faces to be generated. Each clipped cell is given a new face to cap the clipped area, resulting in a closed output cell.

This module accepts pyramids which contain layer data - i.e. data associated with non-vertex elements (edges, faces, cells) in the pyramid. This data is only passed through into the output pyramid when the module does not interpolate the clipped elements.

There are four possibilities for the combinations of the Side and Interpolate widgets, as follows:

When Side is Above Plane or Below Plane and Interpolate is set to Crop, only those whole cells entirely to one side of the cutting plane are preserved in the output.

When Side is Intersection and Interpolate is set to Crop, only those whole cells intersected by the cutting plane are preserved in the output.

When Side is Above Plane or Below Plane and Interpolate is set to Interpolate, cells entirely to one side of the cutting plane are preserved in the output and cells partially to one side are clipped before addition to the output pyramid.

When Side is Intersection and Interpolate is set to Interpolate, a set of faces corresponding to the intersection of cells with the cutting plane is produced on output.

INPUTS

Port: Input
Type: Pyramid
Constraints: 1..-layer
Constraints: 1..-baseLat
Constraints: n-D compression
Constraints: n-compression type
Input pyramid for the requested clipping operation.

Port: Transform
Type: Lattice
Constraints: 2-D
Constraints: 1-vector
Constraints: float
A transformation lattice that determines the position and orientation of the cutting plane.

WIDGETS

Port: Side
Type: Radio Box
Menu Item: Above Plane
Menu Item: Below Plane
Menu Item: Intersection
Allows the selection of the sidedness of the resulting clipped pyramid. Cells on the positive side of the plane, on the negative side of the plane, or intersecting the plane are preserved in the output.

Port: Interpolate
Type: Radio Box
Menu Item: Interpolate
Menu Item: Crop
Determines if cells will be clipped to the cutting plane, or preserved whole in the output pyramid. In the latter case, layer data is also preserved.

OUTPUTS

Port: Output
Type: Pyramid
Constraints: 1..-layer
Constraints: 1..-baseLat
Constraints: n-D compression
Constraints: n-compression type
The output pyramid.

Port: Clip Plane
Type: Geometry
A line geometry of the clipping plane that is used to cut the input pyramid.

KNOWN PROBLEMS

Only able to deal with faces that describe convex surfaces.

If the cutting plane is within a small distance of a vertex (relative to the coordinates of the entire input pyramid), the edge interpolation method used in clipping elements may create a new vertex on the wrong side of the cutting plane. In this case the intersected cell may not be clipped correctly and a warning message may be printed to the module's standard output.

SEE ALSO

CropPyr, CullPyr, SlicePyr.
[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000

Website Feedback

If you would like a response from NAG please provide your e-mail address below.

(If you're a human, don't change the following field)
Your first name.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.