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.