void PEXOCCSetModelClipVolume( PEXOCC context, int op, unsigned int count, PEXHalfSpace *half_spaces )
void PEXSetModelClipVolume( Display *display, XID resource_id, PEXOCRequestType req_type, int op, unsigned int count, PEXHalfSpace *half_spaces )
None.
Invoke PEXOCCSetModelClipVolume to create an attribute output command which sets the model clip volume attribute in the renderer's pipeline state.
Specify the model clipping volume operator (op) to indicate how to combine the specified list of half-spaces with the current model clipping volume to form a new model clipping volume. Primitives outside of the model clipping volume are not rendered when the pipeline's state model clip indicator is PEXClip (see PEXOCCSetModelClipFlag). PEXlib defines two model clipping volume operators (op):
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. If the implementation does not support the specified model clipping volume operator, if any half-space is degenerate, or if modifying the pipeline state's model clipping volume exceeds the maximum number of clipping planes the implementation can support, then the implementation does not modify the pipeline state's current model clipping volume. Inquire the maximum number of model clip planes supported by invoking the PEXGetImpDepConstants function.
The implementation transforms each half-space by the current composite modeling transformation and combines the half-space with the current model clipping volume. The resulting model clipping volume is not affected by subsequent changes to the composite modeling transformation. If you specify no half-spaces, then these missing half-spaces define a volume which is all of modeling coordinate space, effectively performing no modeling clip.
This function is a member of the global attribute set.
For an overview and for a list of all output attribute functions, see Output Attribute Functions.