 |
PK_FACE_delete_facesets_o_t |
|
struct PK_FACE_delete_facesets_o_s
{
int o_t_version; --- options structure version number
PK_LOGICAL_t allow_disjoint; --- allow function to produce disjoint
--- bodies (PK_LOGICAL_false)
PK_FACE_heal_t heal_action; --- healing action (PK_FACE_heal_yes_c) [PF]
int n_details; --- number of details (0)
PK_detail_t *details; --- array of details (NULL) [PF]
double tolerance; --- tolerance (1.0e-6)
PK_local_ops_update_t
update; --- update flag
--- (PK_local_ops_update_default_c)
};
typedef struct PK_FACE_delete_facesets_o_s PK_FACE_delete_facesets_o_t;
This structure contains options for PK_FACE_delete_facesets
Used in:
PK_FACE_delete_facesets
Its user fields are:
'allow_disjoint' if set to PK_LOGICAL_true, then when the operation splits
the body into two or more components then the function
will return a single disjoint body. If set to
PK_LOGICAL_false (the default) then the components are
turned into separate bodies.
'heal_action' If set to PK_FACE_heal_yes_c (the default), then the
function will attempt to heal wounds by whatever method it
can. If set to PK_FACE_heal_no_c, then wounds will not be
healed and each faceset will be replaced by a single rubber
face. If set to any other value then an error is returned.
For facet geometry, 'heal_action' must be set to
PK_FACE_heal_no_c unless faceset 'details' are provided.
'n_details' number of details in the following array. Setting this to
zero is equivalent to giving an array of length one
containing PK_detail_any_c. Otherwise the array 'details'
is an array parallel to the 'facesets' given to
PK_FACE_delete_facesets and indicates the detail type of
each faceset. If 'n_details' is less than 'n_facesets'
then the final element of 'details' is repeated for the
remaining facesets
'details' An array of details giving the detail type for each
faceset which may be used to select appropriate healing
methods. For facet geometry, healing a wound will only
be attempted if the detail type of the faceset is
PK_detail_blend_rb_const_r_c.
'tolerance' tolerance for healing
'update' The default value allows applications to take
advantage of the latest enhancements of the generic
algorithms supporting Parasolid local operations
functions. To maintain consistency when rebuilding
models created in a previous version of Parasolid,
a non-default value should be specified.
The default value is PK_local_ops_update_default_c
See Options when deleting facesets for more information.
NOTE:
Splitting a body into disjoint components is only possible when wounds
are healed. If 'heal_action' is set to PK_FACE_heal_no_c and deletion of a
faceset would cause a shell to be split into two or more shells, then
PK_FACE_delete_facesets will return the error PK_ERROR_not_connected,
because if shells have rubber faces it is not possible to distinguish
between the cases where two shells bound separate volumes and when one
shell bounds a void inside the other.