 |
PK_SURF_find_vectors |
|
PK_ERROR_code_t PK_SURF_find_vectors
(
--- received arguments ---
PK_SURF_t surface, --- surface
PK_UV_t uv_start, --- start u,v parameter pair
PK_UV_t uv_end, --- end u,v parameter pair
double tolerance, --- tolerance
const PK_SURF_find_vectors_o_t *options, --- options [PF]
--- returned arguments ---
PK_SURF_find_vectors_r_t *const found_vectors --- result
)
The function will return position vectors on the supplied 'surface' between the
given 'uv_start' and 'uv_end', in accordance with the supplied 'options'.
This function offers partial support for facet geometry.
Specific Errors:
PK_ERROR_cant_get_vectors (MILD) The operation failed when looking for
the position vectors. Returned only
on request.
PK_ERROR_cant_get_curve (MILD) The operation failed when computing
the path curve of the vectors.
PK_ERROR_bad_chord (MILD) Chord measurements or a chord
projection method have been supplied
in 'options', but the surface points
at 'uv_start' and 'uv_end' are not
distinct (up to 'tolerance').
PK_ERROR_bad_combination (MILD) One of the following has been
supplied via 'options':
a) both a 'help_point' and a
'proj_direction'.
b) a 'help_point' with 'curve_type'
not set to PK_SURF_curve_linear_sp_c.
c) a 'proj_direction' with
'curve_type' not set to
PK_SURF_curve_vec_proj_c.
PK_ERROR_bad_position (MILD) The 'help_point' supplied via
'options' lies outside the size box.
PK_ERROR_bad_tolerance (MILD) The given 'tolerance' has to be larger
than the session tolerance.
PK_ERROR_interval_exceed_period (MILD) The 'surface' is periodic and the
interval between 'uv_start' and
'uv_end' is longer than the period of
the 'surface'.
PK_ERROR_eval_failure (MILD) The 'surface' could not be evaluated
at either (or both) 'uv_start' and
'uv_end'.
PK_ERROR_no_measurements (MILD) No 'measurements' have been supplied
via 'options'.
PK_ERROR_facet_geometry (MILD) The 'surface' type is PK_MESH_t and
'curve_type' is set to
PK_curve_linear_sp_c in 'options'.
PK_ERROR_not_unique (MILD) The given 'options' would produce an
ambiguous result. A suitable
'help_point' or 'proj_direction'
may be required.
The returned position vectors satisfy (up to 'tolerance') the conditions
imposed by the 'measurements' supplied in 'options'. The 'measurements' are
either distances in 3-space or ratios of distances in 3-space. See the
documentation of the option structure PK_SURF_find_vectors_o_t for the
details on how the 'measurements' are defined.
The position vectors are returned in the return structure 'found_vectors' of
type PK_SURF_find_vectors_r_t. See the documentation of
PK_SURF_find_vectors_r_t for more details.
The error PK_ERROR_cant_get_vectors is only returned if requested via the
option structure. See its documentation for details.