 |
PK_EDGE_ask_blend |
|
PK_ERROR_code_t PK_EDGE_ask_blend
(
--- received arguments ---
PK_EDGE_t edge, --- an edge
--- returned arguments ---
PK_blend_type_t *const type, --- type of blend
PK_FACE_t *const left_face, --- face to left of edge
PK_FACE_t *const right_face, --- face to right of edge
PK_blend_edge_shape_t *const edge_shape, --- shape of blend
PK_blend_properties_t *const properties, --- blend properties
PK_EDGE_t *const cliff_edge --- cliff edge
)
This function returns information about the blend on a given edge if any.
Specific Errors:
PK_ERROR_attr_not_found Blend attribute missing from an edge that
is a member of a blend set over a chain
of edges. (MILD)
PK_ERROR_check_error Encountered corrupt blend attribute(s). (MILD)
If the edge has no unfixed blend the 'type' is returned as PK_blend_type_no_c
and all other returned arguments are undefined.
The 'propagate' flag in the 'properties' field will always be returned as
PK_blend_propagate_no_c since this flag is only meaningful when the blend
attributes are created.
The returned arguments are as follows:
'type'
Type of blend: one of PK_blend_type_no_c, PK_blend_type_ball_c,
PK_blend_type_chamfer_c, or PK_blend_type_chain_c.
PK_blend_type_chain_c is for blends set using PK_EDGE_set_blend_chain.
'left_face'
The face to the left of the edge.
'right_face'
The face to the right of the edge.
'edge_shape'
A structure of type PK_blend_edge_shape_t detailing the shape of the
blend on the edge. If 'type' is PK_blend_type_chain_c, the content of
this structure is undefined (see below). Otherwise, its fields
'rhos'
will be zero for rolling ball/chamfer/non-conic variable
radius blends.
'positions'
will be set to (0, 0, 0) for rolling ball/chamfer blends.
'properties'
A structure of type PK_blend_properties_t detailing the blend's
properties. If 'type' is PK_blend_type_chain_c, this structure's
content is only partially defined (see below).
'cliff_edge'
Blend's cliff edge, if used.
In the case of a variable radius blend, this function will only return the end
radii of the blend in 'edge_shape'.
If the blend on 'edge' was set using PK_EDGE_set_blend_chain (i.e., 'type' is
PK_blend_type_chain_c), the following applies:
1. The parameters defining the shape of the blend chain will be returned in a
record in the Parasolid report stream and NOT in 'edge_shape'. This record
will be of type PK_REPORT_record_type_3_c, and will have a status of
PK_REPORT_3_blend_chain_c.
2. The only fields of 'properties' defined in this case are tolerance,
ov_smooth, ov_cliff, ov_cliff_end, and ov_notch.