 |
PK_blend_cap_data_t |
|
struct PK_blend_cap_data_s
{
int n_caps; --- number of caps (0)
const PK_ENTITY_t *caps; --- entities for capping blend (NULL)
const PK_LOGICAL_t *reverse_cap; --- whether cap orientation should be
--- reversed (NULL)
};
typedef struct PK_blend_cap_data_s PK_blend_cap_data_t;
This structure records information specifying how a blend will be capped.
Used in:
PK_BODY_fix_blends_o_t
Blend Cap Options:
'n_caps' The number of capping entities.
'caps' A list of entities which will be used to stop and cap the
blend. Currently, Parasolid will handle entities of class
PK_CLASS_face, PK_CLASS_plane and PK_CLASS_body.
If the entity is a PK_FACE_t, then it must belong to the
body being blended.
If the entity is of type PK_CLASS_body then it must be a
sheet body, the faces of this sheet body are then used to
cap the blend. The sheet body will be consumed by this
operation. When fixing blends with PK_BODY_fix_blends,
this sheet body must be in the same partition as the body
to be blended.
If the entity is of type PK_CLASS_plane, it will be used
to create at most one cap. As such, Parasolid must be able
to associate the plane with a unique part of the blend,
identified as that closest to the plane's location vector
(i.e. `basis_set.location' in PK_PLANE_sf_t). If there are
multiple possible such solutions, the blend fault
PK_blend_fault_bad_cap_c will be returned. To create
multiple caps using the same mathematical plane, for each
cap you must have an entry in 'caps' and 'reverse_cap' that
specifies a coincident but distinct Parasolid plane created
with its location vector near to that cap.
'reverse_cap' A list of flags which specify which side of each cap will
be the exterior of the cap. If `reverse_cap[j]' is
PK_LOGICAL_false, then the algorithm will trim away the
portion of the blend on the side of `cap[j]' towards which
the cap's normal points.