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**

**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')