 |
PK_BODY_offset_2 |
|
PK_ERROR_code_t PK_BODY_offset_2
(
--- received arguments ---
PK_BODY_t body,
double offset, --- offset for each face
double tolerance, --- tolerance
const PK_BODY_offset_o_t *options, --- options [PF]
--- 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_BODY_offset.
This function offers partial support for facet geometry [PF]
Specific Errors:
PK_ERROR_bad_tolerance proposed edge tolerance is too small (MILD)
PK_ERROR_unsuitable_entity body is not a sheet or solid body (MILD)
PK_ERROR_not_implemented a supplied enum value in the options
structure is not implemented for this
function (MILD)
Introduction
The 'body' is returned with all or some faces offset. A positive offset
indicates an offset outwards (i.e. in the direction of the face normal) and a
negative offset an offset inwards.
The default offset to be applied is given in the 'offset' argument.
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.
See Offsetting for more information.
User options
The PK_BODY_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.