 |
PK_MESH_eval_with_mtopol |
|
PK_ERROR_code_t PK_MESH_eval_with_mtopol
(
--- received arguments ---
PK_MESH_t mesh, --- the mesh
PK_UV_t uv, --- mesh parameters
const PK_MESH_eval_with_mtopol_o_t *options, --- option structure
--- returned arguments ---
PK_VECTOR_t *const position, --- position returned
PK_MFACET_t *const mfacet, --- mfacet returned
PK_MTOPOL_t *const mtopol --- mtopol returned
)
This function evaluates the 'mesh' at the given 'uv' position and returns the
'position', 'mfacet' and 'mtopol' at that position.
Specific Errors:
PK_ERROR_bad_parameter the uv coordinates supplied do not lie on the
given mesh. (MILD)
PK_ERROR_invalid_geometry the mesh has invalid geometry. (MILD)
PK_ERROR_eval_failure internal evaluator failure (MILD)
If the 'position' is inside an mfacet both the 'mfacet' and the 'mtopol'
returned will be this mfacet.
If the 'position' is on an mfin or an mvertex, it is considered to lie on more
than one mfacet.
* If the 'position' is on an mfin the 'mfacet' returned will be an mfacet
which has an mfin on which this 'position' lies. The 'mtopol' returned
will be the mfin corresponding to the 'mfacet'.
* If the 'position' is on an mvertex the 'mfacet' returned will be an
mfacet at the mvertex and the 'mtopol' returned will be the mvertex.
In cases where the 'position' lies on more than one mfacet, if the
'want_lowest_mfacet' option is set to PK_LOGICAL_true (the default) the
'mfacet' returned will be the mfacet with the lowest identifier.