PEXSetModelClipVolume(3) — Subroutines
Name
PEXSetModelClipVolume - Set Model Clip Volume 3D
Synopsis
void PEXSetModelClipVolume(Display ∗display, XID resource_id, PEXOCRequestType req_type, int op, unsigned int count, PEXHalfSpace ∗half_spaces)
Arguments
displayA pointer to a display structure returned by a successful XOpenDisplay call.
resource_idThe resource identifier of the renderer or structure.
req_typeThe request type for the output command (PEXOCRender, PEXOCStore, PEXOCRenderSingle or PEXOCStoreSingle).
opThe model clipping volume operator (PEXModelClipReplace or PEXModelClipIntersection).
countThe number of halfspaces.
half_spacesAn array of points and normal vectors defining the model clipping volume.
Returns
None
Description
This function creates an output primitive attribute which sets the model clip volume attribute. The operator will be used to combine the specified list of half-spaces with the current model clipping volume to form a new model clipping volume. Values for the operator are PEXModelClipReplace (replace current volume) and PEXModelClipIntersection (intersect specified volume with current volume). Each half-space is defined by a point and a normal in model coordinates. The normal points in the direction of the half-space, and the point is considered to be on the plane. See PEXGetImpDepConstants for the maximum allowable number of model clip planes.
Each half-space is transformed by the current composite modeling transformation and combined with the current model clipping volume. The resulting model clipping volume is not affected by subsequent changes to the composite modeling transformation.
Data Structures
typedef struct {
PEXCoord point;
PEXVector vector;
} PEXHalfSpace;
See also the PEXStructuresman page.
Errors
BadPEXRenderer
The specified renderer resource identifier is invalid.
BadPEXStructure
The specified structure resource identifier is invalid.
See Also
PEXSetModelClipFlag, PEXSetModelClipVolume2D, PEXRestoreModelClipVolume, PEXGetImpDepConstants