 |
PK_PMARK_delete |
|
PK_ERROR_code_t PK_PMARK_delete
(
--- received arguments ---
int n_pmarks, --- number of pmarks
const PK_PMARK_t *pmarks, --- pmark array
--- returned arguments ---
int *const n_bad_pmarks, --- number of bad pmarks
PK_PMARK_t **const bad_pmarks --- bad pmark array
)
This function deletes the given partition marks. It returns an array of
pmarks which could not be deleted.
Specific Errors:
PK_ERROR_rollback_not_started Partitioned rollback is not active
PK_ERROR_frustrum_failure The frustrum returned an error
PK_ERROR_facet_geometry (MILD) Facet geometry is present at the
preceding pmark, but facet geometry is
not enabled.
PK_ERROR_lattice_geometry (MILD) Lattice(s) are present at the
preceding pmark, but facet geometry is
not enabled.
There are a number of restrictions on pmarks which can be deleted. It is not
an error to call this function with such pmarks, but they will not be deleted,
and will be indicated in the returned array.
Initial pmarks, i.e. pmarks with no preceding pmark, can never be deleted.
Pmarks which are used by a mark (see PK_PMARK_is_used_by_mark), cannot be
deleted until the mark is deleted.
The current pmark of a partition can only be deleted if it has no following
pmark (or if all its following pmarks, directly or indirectly, also occur
in the 'pmarks' array).
A junction pmark, i.e. a pmark with more than one immediately following pmark,
cannot be deleted unless all or all but one of the immediately following
pmarks are also successfully deleted in the same call to this function.