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

SET MODELING CLIPPING VOLUME (PHOP,*,STOP,*)

Purpose

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

This structure element specifies the current modeling clipping volume. Each modeling clipping half-space 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 tranforms 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 region. The clipping volume is obtained by intersecting all acceptance half-spaces in the list specified by this element.

During structure traversal, the volume specified by this element either replaces or intersects the current modeling clipping volume, depending on the value specified by the modeling clipping operator parameter. At structure traversal time, 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 volume defines the acceptance region. The graPHIGS API clips portions of subsequent primitives that are outside of the acceptance region.

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

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

Language Bindings

C

pset_model_clip_vol (op, half_spaces)

Input Parameters

Pint op
Operator (1=REPLACE, 2=INTERSECT).

const Phalf_space_list *half_spaces
List of half-spaces.

FORTRAN

PSMCV (op, nhalfs, halfsp)

Input Parameters

integer op
Operator (1=PMCREP, 2=PMCINT).

integer nhalfs
Number of half-spaces in the list.

real halfsp(4,nhalfs)
List of half-spaces.

For the ith modeling clipping half-space:

Errors

5
Function Requires State (PHOP,*,STOP,*)

Related Subroutines

  • Inquire Modeling Clipping Facilities

  • Set Modeling Clipping Indicator


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