pset_model_clip_vol(3g) — Subroutines
Name
pset_model_clip_vol − Specifies the current modeling clipping volume entry in the PHIGS traversal state list.
Operating States: PHOP, ∗, STOP, ∗
PHIGS standard function
Creates a structure element
Syntax
void pset_model_clip_vol (
Pint op, /∗ (I) Operator ∗/
const Phalf_space_list ∗half_space /∗ (I) List of half spaces ∗/
)
Data Structures
typedef struct {
Pint num_half_spaces; /∗ number of half-spaces ∗/
Phalf_space ∗half_spaces; /∗ list of half-spaces ∗/
} Phalf_space_list;
typedef struct {
Ppoint point; /∗ point ∗/
Pvec norm; /∗ normal ∗/
} Phalf_space;
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
} Ppoint;
typedef struct {
Pfloat delta_x; /∗ delta x value ∗/
Pfloat delta_y; /∗ delta y value ∗/
} Pvec;
Constants
Defined Argument Constant Description
---------------------------------------------------------------------------
op PMODEL_CLIP_REPLACE Replace the current modeling
clipping volume with the
volume specified by the
structure element.
PMODEL_CLIP_INTERSECT Create a volume that is an
intersection of the current
modeling clipping volume and
the volume specified by the
structure element.
---------------------------------------------------------------------------
Description
pset_model_clip_vol specifies the current modeling clipping volume entry in the PHIGS traversal state list. Depending on the current edit mode, this function either inserts the new structure element directly after the element indicated by the pointer or replaces the element indicated by the pointer. The pointer then points to the new set modeling clipping volume element.
Digital PHIGS computes the value as follows: Digital PHIGS transforms the half spaces of the element (using the composite modeling transformation), and intersects the spaces to form a clipping volume, S. If the application does not specify any half spaces, Digital PHIGS defines the clipping volume to be all modeling coordinate space. Digital PHIGS combines S (as specified by the element’s operator) with the current modeling clipping volume to form the new value. During structure traversal, Digital PHIGS uses this volume to clip subsequent output primitives.
If Digital PHIGS does not support the specified operator, it ignores the structure element. If any half space is degenerate, Digital PHIGS ignores the structure element.
If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element.
Digital PHIGS Version 4.1 does not support this function.
See Also
pinq_model_clip_facs
prestore_model_clip_vol
pset_model_clip_ind
pset_model_clip_vol3