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

GPMCV3 - Set Modeling Clipping Volume 3

GPMCV3 (oper, number, lhspace)

Purpose

Use GPMCV3 to insert a Set Modeling Clipping Volume 3 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 3 structure element, depending on the current edit mode.

This element specifies the current modeling clipping volume. Each modeling clipping half-space (lhspace) contains a point and a vector defined in modeling coordinates (MC). 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, Pz, Nx, Ny, and Nz.

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
GPMCV2
Set Modeling Clipping Volume 2
GPRMCV
Restore Modeling Clipping Volume
GPQWDT
Inquire Workstation Description

RCP code

201329672 (X'0C000C08')


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