PEXOCCSetBFInteriorStyleIndex - Set Back-Facing Surface Interior Style Index (5.0)


Synopsis

 
   void PEXOCCSetBFInteriorStyleIndex(
           PEXOCC context,
           int index
     )
 

 
   void PEXSetBFInteriorStyleIndex(
           Display *display,
           XID resource_id,
           PEXOCRequestType req_type,
           int index
      )
 

Arguments

context
An OC context returned by a successful PEXCreateOCC call.

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

resource_id (OCC)
The resource identifier of the renderer or structure.

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

index
The back-facing surface interior style index.

Returns

None.

Description

Invoke PEXOCCSetBFInteriorStyleIndex to create an attribute output command which sets the back-facing interior style index attribute in the renderer's pipeline state according to the value specified by index.

By setting the back-facing interior style index attribute's ASF to PEXIndividual (see PEXOCCSetIndividualASF), you use the pipeline state's back-facing surface interior style index to select an entry of the renderer's interior bundle table. When you set the back-facing interior style index attribute's ASF to PEXBundled, the implementation uses the back-facing interior style index from the interior bundle table.

To apply the back-facing interior style index to the back-facing surfaces of output primitives, you must set the facet distinguish flag to True (see PEXOCCSetFacetDistinguishFlag). If you set the flag to False, then the implementation uses the interior style index when rendering back-facing surfaces (see PEXOCCSetInteriorStyleIndex).

If you set the current interior style to PEXInteriorStylePattern or PEXInteriorStyleHatch, then the implementation uses back-facing interior surface index to further define the rendering style of back-facing surface primitives. If you set the current interior style to PEXInteriorStylePattern, without defining the specified pattern table index, then the index defaults to a table index of one.

For PEXInteriorStyleHatch, index determines the hatch style. PEXlib defines the following hatch styles:

PEXInteriorStyleHatch45Degrees -
draws the back-facing surface interior with single pixel width lines at about 45 degrees, in device coordinates. (5.2)

PEXInteriorStyleHatch135Degrees -
draws the back-facing surface interior with single pixel width lines at about 135 degrees, in device coordinates.

If the implementation does not support the value specified in index, then the hatch style defaults to PEXInteriorStyleHatch45Degrees. Inquire the supported values for the hatch style by invoking the PEXGetEnumTypeInfo function.

For InteriorStylePattern, index specifies the the index into the Pattern LUT. If the Pattern LUT entry specified by index is zero, then the implementation uses an index of 1. For most other LUT index setting output commands, attempting to set an unsupported index, such as index 0 in a Pattern LUT, results in an Output Command error. In this case, the current pipeline state determines whether the index is used for an Interior Style index or a Pattern LUT index. Since the pipeline state is not available for an OC stored in a structure until the structure is rendered, the criteria for generating an OC error is not known until the structure is rendered. Since the PEX implementation cannot report OC errors while rendering structures, this OC therefore cannot generate OC errors; it falls back to index 1 instead.

This function is a member of the styled and shaded surface attribute set.

Errors

BadPEXRenderer
The specified renderer resource identifier is invalid.

BadPEXStructure
The specified structure resource identifier is invalid.

See Also

For an overview and for a list of all output attribute functions, see Output Attribute Functions.