[ Previous | Next | Contents | Glossary | Home | Search ]
The graPHIGS Programming Interface : Subroutine Reference

GPMCV2 - Set Modeling Clipping Volume 2

GPMCV2 (oper, number, lhspace)

Purpose

Use GPMCV2 to insert a Set Modeling Clipping Volume 2 structure element into the open structure following the element pointer, or to replace the element pointed at by the element pointer with a Set Modeling Clipping Volume 2 structure element, depending on the current edit mode.

This element modifies the current modeling clipping volume. Each modeling clipping half-space (lhspace) contains a point and a vector defined in modeling coordinates (MC). The graPHIGS API expands each two-dimensional half-space to a three-dimensional half-space by setting the z coordinate of both the point and the vector to the value 0.0.

The current modeling transformation transforms each pair of half-spaces (consisting of a point and vector) from the Modeling Coordinate (MC) system to the World Coordinate (WC) system, and defines a boundary (plane) in WC. The transformed point is on this plane and the transformed vector defines a normal to the plane which points into the acceptance half-space. The clipping volume is obtained by intersecting all acceptance half-spaces in the list specified by this element.

During traversal, the volume specified by this element either replaces or intersects the current clipping volume, depending on the value specified by the modeling clipping operator oper The graPHIGS API uses the resultant clipping volume to render subsequent primitives. Transformation elements encountered during traversal do not affect the resultant clipping volume. The resultant clipping volume is called the acceptance region because primitives that lie within it are accepted for display. The graPHIGS API clips portions of subsequent primitives outside the acceptance region.

If the number (number) of modeling clipping half-spaces is set to 0, then the acceptance region is all of world coordinate space (WC).

During traversal, if the workstation does not support the specified modeling clipping operator, if the specified number of clipping half-spaces exceeds the maximum supported by the workstation, or if any half-space is found to be degenerate, then the graPHIGS API ignores this structure element.

During traversal, if the graPHIGS API encounters a Set Modeling Clipping Volume 2 or 3 structure element and the current composite modeling transformation matrix is singular, then the graPHIGS API sets the effective clipping volume to the null volume and clips all subsequent primitives.

Parameters

oper-- specified by user, fullword integer

Modeling clipping operator (1=REPLACE_VOLUME, 2=INTERSECT_VOLUME )

number-- specified by user, fullword integer

Number of modeling clipping half-spaces (>=0).

lhspace-- specified by user, array of short floating-point values

Modeling clipping half-spaces. Each modeling clipping half-space is defined by a point and a normal. The point and normal are specified in the order Px, Py, Nx, and Ny.

Error Codes

5
FUNCTION REQUIRES STATE STOP OR NROP (NOT STCL)
627
NUMBER OF HALF-SPACES < ZERO
628
OPERATOR IS INVALID

Related Subroutines

GPMCI
Set Modeling Clipping Indicator
GPRMCV
Restore Modeling Clipping Volume
GPMCV3
Set Modeling Clipping Volume 3
GPQWDT
Inquire Workstation Description

RCP code

201329673 (X'0C000C09')


[ Previous | Next | Contents | Glossary | Home | Search ]