PEXFillAreaSet - 3D Set of Fill Areas Primitive (5.0)


Note: This function has been superseded by the PEXOCCFillAreaSet function, but is maintained here for backwards compatibility with PEXlib 5.1.

Synopsis

 
    void PEXFillAreaSet(
         Display *display,
         XID resource_id,
         PEXOCRequestType req_type,
         int shape_hint,
         int ignore_edges,
         int contour_hint,
         unsigned int count,
         PEXListOfCoord *point_lists
     )

Arguments

display
A pointer to a display structure returned by a successful XOpenDisplay call.

resource_id
The resource identifier of the renderer or structure.

req_type
The request type for the output command (PEXOCRender, PEXOCStore, PEXOCRenderSingle or PEXOCStoreSingle).

shape_hint
The shape which describes all of the contours (PEXShapeComplex, PEXShapeNonConvex, PEXShapeConvex or PEXShapeUnknown).

ignore_edges
A flag that determines if surface edges are rendered (True or False).

contour_hint
A flag that indicates whether contours are disjoint or overlapping (PEXContourDisjoint, PEXContourNested, PEXContourIntersecting or PEXContourUnknown).

count
The number of fill areas in the set.

point_lists
A pointer to the list of vertex arrays defining each contour of the fill area set.

Returns

None.

Description

Invoke PEXFillAreaSet to create a fill area set output primitive.

This primitive is similar to the PEXFillArea primitive, except it enables you to create areas with "islands" or "holes".

Defining any fill area in the set with fewer than three vertices or without any contours, creates a degenerate area. The implementation stores the primitive in a structure, but when the area is rendered, there is no visual effect. The implementation ignores the primitive.

A fill area set consists of an array of fill areas that define "contours" (disjoint pieces or holes) making up the primitive. Each fill area, or contour, is defined by a list of vertices joined together to form a planar surface.

Specify the contour_hint argument to provide information about the relationships between contours in the fill area set:

PEXContourDisjoint -
indicates that all contours are spatially disjoint. There is no overlapping or intersection between any contours in the fill area set.

PEXContourNested -
indicates that contours are either disjoint or wholly contained within another contour. No contour has edges that intersect or are coincident with edges of any other contour.

PEXContourIntersecting -
indicates that separated contours may have edges that are coincident or overlap.

PEXContourUnknown -
indicates that nothing is known about the interrelationships between contours.

The implementation renders fill area sets, with contours that have higher complexity inter-relationships than that indicated by the contour hint, in an implementation- dependent way.

Specify the ignore_edges argument as a boolean value indicating whether surface edges are rendered. This argument value is applied to each of the fill areas in the set.

All other aspects of this primitive are the same as PEXFillArea.

Errors

BadPEXOutputCommand
The output command contains an invalid value.

BadPEXRenderer
The specified renderer resource identifier is invalid.

BadPEXStructure
The specified structure resource identifier is invalid.

See Also

For an overview, see Output Command Functions.