 |
PK_EDGE_check |
|
PK_ERROR_code_t PK_EDGE_check
(
--- received arguments ---
PK_EDGE_t edge, --- edge to be checked
const PK_EDGE_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 edge.
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_wrong_entity wrong entity given (MILD)
PK_ERROR_facet_geometry 'edge's body has facet geometry but facet
geometry is not enabled in session (MILD)
This function performs a series of checks on an edge, 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
'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 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 edge. However it is likely that Parasolid will have
difficulties in performing subsequent operations on the body which has this
edge.
For more details on fault types and how they may arise, see the chapter on
'Checking' in the Functional Description.