PK_FACE_offset_2   


PK_ERROR_code_t           PK_FACE_offset_2
(
--- received arguments ---
int                       n_faces,         --- number of faces > 0
const PK_FACE_t           faces[],         --- faces to offset
const double              offsets[],       --- offset for each face
double                    tolerance,       --- tolerance

const PK_FACE_offset_o_t *options,         --- options

--- returned arguments ---
PK_TOPOL_track_r_t *const tracking,        --- tracking information
PK_TOPOL_local_r_t *const results          --- status information
)


This function offsets faces of a solid or sheet body.

NOTE : This function supersedes PK_FACE_offset.


Specific Errors:
    PK_ERROR_cant_offset           (SERIOUS) offsetting failure
    PK_ERROR_bad_tolerance         (MILD) proposed edge tolerance is too small
    PK_ERROR_unsuitable_entity     (MILD) body is not a sheet or solid body
    PK_ERROR_wrong_entity_in_array (MILD) given faces are not from same body



Introduction
Each face in faces is offset by the corresponding distance in offsets.
A positive offset indicates an offset outwards (i.e. in the direction of the
face normal) and a negative offset an offset inwards.

Under some circumstances the function may need to replace exact geometry by
tolerant geometry. For instance, in the case of a sheet body some edge
geometry at the boundary may have to be approximated by SP curves in order
to generate a boundary curve on the offset sheet. In all such situations the
new geometry will have a tolerance less than or equal to the tolerance
supplied through the tolerance argument.

User options
The PK_FACE_offset_o_t structure contains user control options. See
its documentation for details.

Tracking
The PK_TOPOL_track_t structure contains topology tracking information on
the operation. In the case of this function, only tracking information
records of the type PK_TOPOL_track_derive_c may be returned, if faces
have been split or merged during the operation.

Error handling
If this function returns PK_ERROR_no_errors, the result of the operation
will be indicated by the value of the status field of the results
structure. When this value is not PK_local_status_ok_c or
PK_local_status_nocheck_c, it indicates an operation failure and an array
of entities involved in this failure is returned through the field
error_entities of the results structure, when possible.
For more information regarding the failure status code and the error_entities,
refer to the PK documentation of the PK_TOPOL_local_r_t structure.

Generated on: Fri, 15 Dec 2023 13:16:24 GMT