int PEXOCCGeoNormIndexedFillAreaSets( PEXOCC context, unsigned int set_count, PEXPointer occ_facet_data, unsigned int vertex_count, PEXPointer occ_vertex_data, unsigned int index_count, PEXConnectivityData *connectivity, int handedness )
int PEXGeoNormSetOfFillAreaSets( unsigned int facet_attributes, unsigned int vertex_attributes, int color_type, unsigned int set_count, PEXArrayOfFacetData facet_data, unsigned int vertex_count, PEXArrayOfVertex vertices, unsigned int index_count, PEXConnectivityData *connectivity )
Zero if successful; otherwise, one of the following:
Invoke PEXOCCGeoNormIndexedFillAreaSets to compute the geometric normals of the set of fill area sets primitive and store them in the specified facet data.
The normals are computed by finding the first three non-colinear points in each fill area set, beginning with the first fill area of each set and searching until three such points are found in a single fill area. Two vectors are formed from these points: one vector from the first point to the second point, and one vector from the first point to the third point. The geometric normal returned is the normalized cross product of these two vectors.
The three points for each fill area set are selected as described for PEXOCCGeoNormFillAreaSet.
PEXGeoNormSetOfFillAreaSets assumes the handedness is PEXVertexOrderRightHand.
Specify the handedness argument to generate normals that match the orientation of the coordinate system that the vertex data uses. PEXVertexOrderRightHand indicates that the coordinate system is right-handed, and PEXVertexOrderLeftHand indicates that the normals are to be "flipped" from the right-handed orientation to match a left-handed coordinate system.
If the facet attributes does not contain the bit PEXGANormal, then the utility does not compute the geometric normal. However, the utility still returns successfully.
A geometric normal is computed for all fill area sets where it is possible to compute one, even if a normal cannot be computed for some other fill area sets. The function returns unsuccessfully if a normal cannot be computed for one or more of the fill area sets.
None.
For a list of utilities that compute geometric normals, see Computing Geometric Normals. For a list of related topics, see PEXlib Utilities.