 |
PK_FACE_delete_2 |
|
PK_ERROR_code_t PK_FACE_delete_2
(
--- received arguments ---
int n_faces, --- number of faces
const PK_FACE_t faces[], --- faces to delete
const PK_FACE_delete_o_t *options, --- options structure [PF]
--- returned arguments ---
PK_TOPOL_track_r_t *const tracking --- tracking
)
This function deletes the given faces from a solid or sheet body and repairs
any resulting wounds.
This function offers partial support for facet geometry [PF]
Specific Errors:
PK_ERROR_non_manifold (SERIOUS) can't heal wound with
non-manifold boundary
'faces' do not form a manifold
set or neighbourhood of 'faces'
is not manifold
PK_ERROR_cant_heal_wound (SERIOUS) can't heal wound - impossible
geometry
PK_ERROR_wrong_entity_in_array (MILD) 'faces' not all from same body
PK_ERROR_all_faces_in_body (MILD) can not delete all faces
in a body
See also Local Ops: Deleting Faces and Healing Wounds for more
information.
All of the given faces, which must belong to the same body, are deleted from
that body. If the resulting body does not have a complete boundary, then any
wounds are treated as wounds which are healed as specified by the
'heal_action' option.
If the faces belong to a general body, then they must form a manifold
set, and the boundaries of the faces should not be adjacent to
non-manifold vertices or edges.
The faces must not be all the faces in the body.
Rubber faces can not be grown to heal other wounds.
Tracking
If the delete has resulted in the original body being split into multiple
bodies, the resultant bodies will be returned as product topologies of the
original body in the PK_TOPOL_track_r_t structure.
This can only happen if the 'allow_disjoint' option is set to PK_LOGICAL_false.
If the 'heal_action' option is set to PK_FACE_heal_no_c, and 'track' option
is set to PK_delete_track_rubber_c, each rubber face that is created will
generate a tracking record of type PK_TOPOL_track_create_c consisting of the
tags of the original faces and the new rubber face. Similarly, if the
'heal_action' option is set to PK_FACE_heal_cap_c, and 'track' option is set
to PK_delete_track_cap_c, each capping face that is created will generate a
tracking record of type PK_TOPOL_track_create_c consisting of the tags of the
original faces and the new capping face.