 |
PK_EDGE_offset_on_body |
|
PK_ERROR_code_t PK_EDGE_offset_on_body
(
--- received arguments ---
int n_edges, --- number of edges
const PK_EDGE_t edges[], --- edges
PK_HAND_t direction, --- direction for offset
const PK_EDGE_offset_on_body_o_t *options, --- options structure
--- returned arguments ---
PK_EDGE_offset_on_body_r_t *const results, --- status and error information
PK_TOPOL_track_r_t *const tracking --- tracking information
)
This function offsets a set of edges in the faces of their body.
This function does not support facet geometry [NF]
Specific Errors:
PK_ERROR_not_in_same_body (MILD) the edges do not all belong to a
single body
PK_ERROR_wire_body (MILD) the edges belong to a wire body
PK_ERROR_general_body (MILD) the edges belong to a general body
PK_ERROR_bad_tolerance (MILD) the tolerance provided is too small
PK_ERROR_bad_angle (MILD) the angle supplied to the
'gap_fill_angle' option is less than zero or
greater than pi.
PK_ERROR_cant_offset (SERIOUS) offsetting failure
The set of 'edges' is offset within the faces of their body. The
'edges' must all belong to the same sheet or solid body and must be
simply connected with g0 continuity.
Each point on the 'edges' will be offset within the normal plane of
the edge at that point. The 'offset_distance' option specifies the
amount of offset; this is measured by arc-length along the intersection
between the body's faces and this plane.
The first edge in the 'edges' array is the primary edge. The
'direction' indicates whether the 'edges' should be offset to the left
or right of this primary edge, when looking forward along the edge and
viewing down an adjacent face's normal.
The offset will cross sharp edges in the body, but will stop at laminar
edges.
The result will be a new set of edges imprinted on the body. No new
edges may be produced where the offset of 'edges' lies entirely beyond
the faces of the body.
'results' will contain the status of the operation and any relevant
fault information in cases where the operation is not successful.
Tracking information will be returned in 'tracking'. In general, this will
contain one track record for each new edge produced, indicating which of
the received 'edges' it was offset from. Additional edges may be created
to fill gaps resulting from offsetting edges that are connected by a sharp
vertex. The tracking record for each gap-fill edge will contain the vertex
and edges from which the gap originated.
For more information, see Offsetting edges on a body.