PK_FACE_check   

PK_ERROR_code_t              PK_FACE_check
(
--- received arguments ---
PK_FACE_t                    face,         --- face to be checked
const PK_FACE_check_o_t     *options,      --- options structure

--- returned arguments ---
int                   *const n_faults,     --- number of faults
PK_check_fault_t     **const faults        --- faults
)


This function checks the given face.


Specific Errors:
    PK_ERROR_check_error        a fault has been found when max_faults = 0
                                (MILD)
    PK_ERROR_check_failure      checker failure (MILD)
    PK_ERROR_bad_option_data    max_faults < 0 (MILD)
    PK_ERROR_facet_geometry     'face's body has facet geometry but facet
                                geometry is not enabled in session (MILD)



This function performs a series of checks on a face, and returns information
about the faults found, if any.


option structure
------ ---------
The option structure allows the caller to control which checks are performed;
if no options are supplied, all checks appropriate to the edge will be made.

The option structure allows the following to be set:

    'max_faults'
        maximum number of faults to be returned and whether to force checking
        to raise a PK error instead of returning check faults.

    'geom'
        what general geometry checking is to be performed.

    'bgeom'
        whether specific B-geometry checking is to be performed.

    'top_geo'
        whether checks for consistency of topology and geometry are to be
        performed.

    'size_box'
        whether checks for size box violation are to be performed.

    'fa_X'
        whether checks for face self-intersection are to be performed.

    'loops'
        whether loop consistency within the face is to be performed.

    'nmnl_geom'
        whether nominal geometry checking is to be performed.

    'returns'
        what version of check fault information is to be returned.

    'attribs'
        whether checks on validity of attached system attributes are to be
        performed.

These options and the check faults they may give rise to are described  in
the documentation of PK_BODY_check.

Faults are returned in an array of PK_check_fault_t structures.
If there are no faults found, then 'n_faults' is returned as zero.

If there is more than one fault then the function does not
guarantee to return all the faults.

When some types of check are omitted, a face which would fail them may
produce misleading results or checker failures when other checks are applied.

If the checking process itself suffers an internal failure then the function
will return the error PK_ERROR_check_failure and the entity that gave problems
will be returned in the PK_ERROR_sf_t structure.  In such a case it has proved
impossible for Parasolid to demonstrate the theoretical correctness or
otherwise of the face.  However it is likely that Parasolid will have
difficulties in performing subsequent operations on the body which has this
face.

For more details on fault types and how they may arise, see the chapter on
'Checking' in the Functional Description.