 |
PK_BODY_disjoin |
|
PK_ERROR_code_t PK_BODY_disjoin
(
--- received arguments ---
PK_BODY_t target, --- a body
--- returned arguments ---
int *const n_bodies, --- number of disjoint bodies (>= 1)
PK_BODY_t **const bodies --- disjoint bodies
)
This function divides the target body into one or more disjoint bodies, each
of which represents a connected point-set.
The target body will be returned as the first entry in 'bodies'.
Each void region in the target body which has more than one shell will lead to
the creation of new regions and bodies into which shells from the target will
be transferred, so that each void region in each resulting body will have
exactly one shell. Each original region which has been split in this way
will stay in the target body; however, it is not specified which of its
shells will be transferred.
If the target body is already connected, the operation will have no effect;
otherwise appropriate body type will be set for the resulting bodies.