|GPMCV2 (oper, number, lhspace)|
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.