 |
PK_BODY_trim_neutral_sheets_2 |
|
PK_ERROR_code_t PK_BODY_trim_neutral_sheets_2
(
--- received arguments ---
PK_BODY_t body, --- the target body
int n_pairs, --- number of pairs
const PK_FACE_set_pair_t pairs[], --- array of pairs
double tol, --- tolerance for
--- curves
const PK_BODY_trim_neutral_sheets_o_t *options, --- option structure
--- 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
PK_TOPOL_track_r_t *const tracking --- tracking
--- information
)
This function trims the neutral sheets in accordance with their pairs
of face sets.
This function does not support facet geometry [NF]
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 and for use in imprinting.
The returned arrays 'neutral_sheets', 'errors', and 'causes' will 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
A validly aligned neutral sheet has not been
supplied.
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 configuration 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 problem in
finding the trim curves.
PK_neutral_extend_failure_c
An error occurred while trying to extend
the neutral sheet.
PK_neutral_fill_hole_failure_c
An error occurred while trying to fill
a hole in the neutral sheet.
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.
Tracking information for the created or modified edges of the neutral sheets
is returned in 'tracking'.
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 will not be trimmed properly, even though the status is
PK_neutral_success_c.