Set_Polygonal_Clip_Region

Functions

void DSet_Polygonal_Clip_Region (int count, const HC_DPOINT *points, const char *options)
 Similar to Set_Polygonal_Clip_Region(), but operates on double-precision data. More...
 
void Set_Polygonal_Clip_Region (int count, const HC_POINT *points, const char *options)
 Defines a polygonal region in the segment tree, where all geometry within and beneath that segment will be drawn either clipped to that region or masked out. More...
 
void UnSet_Clip_Region (void)
 Removes all clip regions set by a previous call to Set_Polygonal_Clip_Region() More...
 

Detailed Description

Function Documentation

◆ DSet_Polygonal_Clip_Region()

void DSet_Polygonal_Clip_Region ( int  count,
const HC_DPOINT *  points,
const char *  options 
)

Similar to Set_Polygonal_Clip_Region(), but operates on double-precision data.

Parameters
count- Number of (x,y,z) triplets in points.
points- The set of (x,y,z) triplets that define the polygonal clip region.
options- A comma separated list of the desired settings.

◆ Set_Polygonal_Clip_Region()

void Set_Polygonal_Clip_Region ( int  count,
const HC_POINT *  points,
const char *  options 
)

Defines a polygonal region in the segment tree, where all geometry within and beneath that segment will be drawn either clipped to that region or masked out.

Parameters
count- Number of (x,y,z) triplets in points.
points- The set of (x,y,z) triplets that define the polygonal clip region.
options- A comma separated list of the desired settings.

DETAILS

This function allows you to define a polygonal region on a segment such that all geometry in or beneath it will be clipped. The options string allows you to specify whether the region is a clip region (in which case all the geometry "outside" the polygon will not be drawn) or a mask region (in which case all the geometry "inside" the polygon will not be drawn).

The list of valid choices for the options string:

window | world | object space

Specify the coordinate space. Valid options are either 'window', 'world', or 'object space'. 'window' means that the coordinates specified in points array are in window space while 'world' indicate the values specifed in the points array are in world space. If 'object space', then the clip region will be transformed by the object modelling matrix.

type [= clip|mask]

If "type=clip", then everything in and below the currently opened segment which lies outside the defined polygon will not be drawn. If the "type=mask", then everything in and below the currently opened segment which lies inside the defined polygon will not be drawn.

If nothing is specified in the options string, then the region will be a clip region and the points will be assumed to be in window space.

NOTES

Where possible, display drivers make use of any hardware stencil buffers to accelerate this feature. Performance when using this feature is therefore greatly enhanced if the 'stencil' driver option is not turned off prior to the first update (it is on by default). Where not possible, some geometry may overstep the boundaries slightly. For example, text can often only be clipped away whole characters at a time, so parts of character may go outside.
Both concave and convex regions are supported.

RESTRICTIONS

  • Clip regions inherit down the segment tree like other attributes. However, when you set a clip region on a segment which also inherits a different clip region from a parent, the clip space is limited to the overlap of the clip regions.
See also
Show_Clip_Region
Set_Complex_Clip_Region

◆ UnSet_Clip_Region()

void UnSet_Clip_Region ( void  )

Removes all clip regions set by a previous call to Set_Polygonal_Clip_Region()

DETAILS

No additional details. See Set_Polygonal_Clip_Region()