PK_ERROR_code_t PK_GEOM_check ( --- received arguments --- PK_GEOM_t geom, --- geometry to be checked const PK_GEOM_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 geometry. Specific Errors: PK_ERROR_check_error a fault has been found when max_faults = 0 PK_ERROR_check_failure checker failure PK_ERROR_bad_option_data max_faults < 0 PK_ERROR_wrong_entity wrong entity given This function performs a series of checks on a geometric entity, 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 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 body which would fail them may produce misleading results or checker failures when other checks are applied. Very occasionally, checker failures are caused by difficult geometric configurations or the unexpected failure of an internal numerical algorithm; such failures should not be taken to indicate that the body is invalid. This will lead to the function failing with the error PK_ERROR_check_fail and the faulty entity being returned in the PK_ERROR_sf_t structure. For more details on fault types and how they may arise, see the chapter on 'Checking' in the Functional Description.