 |
PK_MTOPOL_make_meshes |
|
PK_ERROR_code_t PK_MTOPOL_make_meshes
(
--- received arguments ---
int n_mtopols, --- the number of mtopols
const PK_MTOPOL_t mtopols[], --- the mtopols
const PK_MTOPOL_make_meshes_o_t *options, --- options
--- returned arguments ---
int *const n_meshes, --- the number of meshes
PK_MESH_t **const meshes --- the meshes
)
This function creates meshes from a collection of mtopols. Optionally,
the set of mfacets can be expanded by a callback function that uses the
given mtopols as seeds to propagate out from.
Specific Errors:
PK_ERROR_mtopols_not_same_mesh 'mtopols' not all from same mesh (MILD)
PK_ERROR_wrong_mtopol An input mtopol is not an mfacet (MILD)
PK_ERROR_callback_failed The callback function failed (MILD)
A mesh or meshes are made from copies of the given 'mtopols' which must be
mfacets. The mesh of which the 'mtopols' are elements is unchanged. Duplicate
entries in 'mtopols' are ignored.
The 'mtopols' must be mfacets from the same mesh unless the 'faces' option is
non-NULL. If the 'faces' option is non-NULL then 'mtopols' must be mfacets
from the meshes attached to the faces in 'faces'. If multiple 'faces' are
supplied, mfacets in the resultant 'meshes' will inherit connectivity from
topological edges between faces. Mfacets from different 'faces' that border
a common edge will become adjacent mfacets in the resulting mesh. For 'faces'
from a general body, no more than two faces that meet at a single multi-face
edge may be supplied.
The mesh components produced by PK_MTOPOL_make_meshes are maximal mfin
connected sets of mfacets.
The option 'select_cb' allows the application to pass a callback function to
control an mfacet propagation algorithm. This algorithm will propagate
outwards from the mfacets given as input in the argument 'mtopols', which
now act as seeds of the propagation. The criterion for propagation must be
implemented in the callback function and this can either be formulated in
terms of adjacent mfacets or mfins. The 'select_cb' option is not allowed if
the 'n_faces' option is non zero.
If the option 'select_type' is set to PK_selector_type_exclude_c, as
opposed to the default value PK_selector_type_include_c, the resulting mesh
will be created from the set of mfacets which are not selected by the
application or the callback function.