SET MODELLING CLIPPING VOLUME(3P) — SUNPHIGS LIBRARY
NAME
SET MODELLING CLIPPING VOLUME − create structure element to set the current modelling clipping volume
SYNOPSIS
C Syntax
void
psetmodelclipvolume ( op, half_spaces )
Pintop;operator
Phalfspacelst∗half_spaces;list of half spaces
FORTRAN Syntax
SUBROUTINE psmcv ( MCLPOP, NMCLHS, MCLPHS )
INTEGERMCLPOPmodelling clipping indicator
INTEGERNMCLHSnumber of modelling clipping
half spaces in list
REALMCLPHS(4, NMCLHS) list of modelling clipping
half spaces
Required PHIGS Operating States
(PHOP, ∗, STOP, ∗)
DESCRIPTION
Purpose
SET MODELLING CLIPPING VOLUME creates a structure element containing the operator and half spaces specified, and places the element in the current structure. During traversal, this element is used to modify the value of the current modelling clipping volume attribute, which affects all output primitives.
C Input Parameters
opThe operator that describes the application of the half spaces in this element to the current modelling clipping volume. Operator values defined in phigs.h are:
PMC_REPLACEReplace
PMC_INTERSECTIntersect
half_spaces
The list of half spaces to store in the element. Phalfspacelst is defined in phigs.h as:
typedef struct {
Pintnumber; /∗ number of half spaces ∗/
Phalfspace∗half_spaces;/∗ list of half spaces ∗/
} Phalfspacelst;
The number is the number of half spaces in the array of Phalfspace elements pointed to by half spaces, as specified by a point, and the normal to the plane containing the point, in the direction of the half space. Phalfspace is defined in phigs.h as:
typedef struct {
Ppointpt;/∗ point ∗/
Pvectornormal;/∗ normal ∗/
} Phalfspace;
Ppoint and Pvector are similar structures, defined by phigs.h:
typedef struct {
Pfloatx;/∗ x coordinate ∗/
Pfloaty;/∗ y coordinate ∗/
} Ppoint;
typedef struct {
Pfloatx;/∗ x magnitude ∗/
Pfloaty;/∗ y magnitude ∗/
} Pvector;
The 2D point and normal vector are expanded to 3D by using z components equal to 0.
FORTRAN Input Parameters
MCLIPOP
The clipping operator that describes the application of the half spaces in this element to the current modelling clipping volume. Operator values defined in phigs.h are:
PMCREPReplace
PMCINTIntersect
NMCLHS
The number of clipping half spaces in the array MCLPHS.
MCLPHS
The list of half spaces to store in the element, specified as a 2D. The first dimension is 4, specifying a point as x and y coordinates, and the normal to the plane containing the point, in the direction of the half space, as x and y magnitudes. The second dimension is NMCLHS.
Execution
If the current edit mode is INSERT, a SET MODELLING CLIPPING VOLUME element is inserted into the currently open structure after the element pointed to by the current element pointer. If the edit mode is REPLACE, the new element replaces the element pointed to by the element pointer. In either case, the element pointer is updated to point to the new element.
ERRORS
005Ignoring function, function requires state (PHOP, ∗, STOP, ∗)
SEE ALSO
INQUIRE MODELLING CLIPPING FACILITIES (3P)
SET MODELLING CLIPPING INDICATOR (3P)
RESTORE MODELLING CLIPPING VOLUME (3P)
SET MODELLING CLIPPING VOLUME 3 (3P)
Sun Release 4.0 — Last change: 28 July 1989