PEXFillAreaSetWithData - Set of Fill Areas Primitive With Additional Data (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 PEXFillAreaSetWithData(
         Display *display,
         XID resource_id,
         PEXOCRequestType req_type,
         int shape_hint,
         int ignore_edges,
         int contour_hint,
         unsigned int facet_attributes,
         unsigned int vertex_attributes,
         int color_type,
         unsigned int count,
         PEXFacetData *facet_data,
         PEXListOfVertex *vertex_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).

facet_attributes
A mask indicating the facet attributes provided (PEXGANone, PEXGAColor, PEXGANormal).

vertex_attributes
A mask indicating the vertex attributes provided (PEXGANone, PEXGAColor, PEXGANormal, PEXGAEdges,).

color_type
The type of color data provided (PEXColorTypeIndexed, PEXColorTypeRGB, PEXColorTypeCIE, PEXColorTypeHSV, PEXColorTypeHLS, PEXColorTypeRGB8 or PEXColorTypeRGB16).

count
The number of fill areas in the set.

facet_data
A pointer to facet data.

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

Returns

None.

Description

Invoke PEXFillAreaSetWithData to create a fill area set output primitive.

This primitive is similar to the PEXFillAreaSet primitive, except that you can specify additional information for each fill area and for each vertex. It is similar to PEXFillAreaWithData but enables you to create areas with "islands" or "holes". Color values passed must be of the specified color type.

The facet attributes indicate the content of the facet data. Use the constants PEXGANone, PEXGAColor, PEXGANormal and PEXGAFloatData to construct a mask indicating the data provided. Use the PEXlib-supplied packed format data structures to map the facet data if using the packed data interface to maintain the order of color, normal, float_data.

If specified, the facet color takes precedence over the surface color. If specified, the facet normal is used to determine whether the fill area is back-facing.

The vertex attributes indicate the content of each fill area vertex. Use the constants PEXGANone, PEXGAColor, PEXGANormal, PEXGAEdges, PEXGAFloatData and PEXGA2D to construct a mask indicating the data provided. Use the PEXlib-supplied packed format data structures to map the vertex data if using the packed data interface to maintain the order of color, normal, edges, float_data.

If specified, vertex colors override facet color or the current surface color. If specified, vertex normals are taken to be normals at the vertices of the fill area.

The reflection model and the surface interpolation affect how the implementation uses additional data in rendering the surface. Specify edge controls to indicate which edges the implementation should render when the surface edges are enabled. The edge control for vertex i indicates whether or not to render the edge between vertex i and vertex i+1. Surface edges are always rendered with the surface edge color and are not affected by the facet or vertex colors.

Normals are assumed to be unit length vectors. If you specify a normal that is not unit length, then the result is implementation-dependent.

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

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.