 |
PK_BODY_trim_neutral_sheets |
|
PK_ERROR_code_t PK_BODY_trim_neutral_sheets
(
--- received arguments ---
PK_BODY_t body, --- the target body
int n_pairs, --- the number of pairs
const PK_FACE_set_pair_t pairs[], --- array of pairs
double tol, --- tolerance for curves
--- returned arguments ---
PK_BODY_t neutral_sheets[], --- neutral sheets
PK_neutral_error_t errors[], --- status of neutral sheets
PK_FACE_neutral_causes_array_t causes[] --- tracking information
)
This function trims the neutral sheets in accordance with their pairs
of face sets.
NOTE: This function is deprecated and has been superseded by
PK_BODY_trim_neutral_sheets_2.
This function trims some neutral sheets as specified by
'pairs'. All the faces in the facesets must belong to 'body', which
should be a solid.
The argument 'tol' is used to specify a tolerance in case an
approximate curve is constructed by the function. If it is zero, the
function will choose its own non-zero value.
The returned arrays 'neutral_sheets', 'errors' and 'causes' must be the same
length as the given array of pairs. Each entry in the returned arrays
will correspond to the pair in the same position in the input array.
Each body in 'neutral_sheets' will be the same as the sheet body in
the same position in 'pairs'. The value of the entry in 'errors' will
indicate the status of the corresponding sheet body in
'neutral_sheets'. The possible values are as follows:
Value Meaning
----- -------
PK_neutral_success_c No problems were detected and a trimmed
neutral sheet has been returned.
PK_neutral_illegal_input_c Either a neutral sheet has not been
supplied, or a face has been used in
more than one pair.
PK_neutral_numerical_failure_c
An error has occurred while trying to
find the trim curves and their
endpoints. The returned neutral sheet
will not be trimmed correctly.
PK_neutral_unknown_config_c The disposition of pair faces and side
faces is not one which the algorithm
recognises. This is a limitation.
PK_neutral_imprint_failure_c
An error has occurred while imprinting
the trim curves onto the neutral sheet.
This often means there is a bug in
finding the trim curves.
Each entry in 'causes' will be an array containing the tracking
information for the corresponding neutral sheet, each element of this
array being the information for a face in the neutral sheet.
Where trimming has failed, the neutral sheet may have changed and may
have new edges scribed onto it.
If the face set pairs are incomplete for the body, it is possible that
the sheet not be trimmed properly, even though the status is
PK_neutral_success_c. It is also possible that a neutral sheet will
become disconnected. If this happens it will be converted to a
general body.