PK_BODY_check   

PK_ERROR_code_t              PK_BODY_check
(
--- received arguments ---
PK_BODY_t                    body,         --- body to be checked
const PK_BODY_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 body.


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



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

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 in the body 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.

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 body.  However it is likely that Parasolid will have
difficulties in performing subsequent operations on this body.

Note that the tokens :

  PK_FACE_state_bad_wire_fa_ed_c,
  PK_EDGE_state_bad_face_order_c,
  PK_SHELL_state_bad_topol_geom_c and
  PK_SHELL_state_bad_sh_sh_c

   can only occur for general bodies.

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