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.