 |
PK_EDGE_find_deviation_2 |
|
PK_ERROR_code_t PK_EDGE_find_deviation_2
(
--- received arguments ---
PK_EDGE_t edge1, --- First edge
PK_EDGE_t edge2, --- Second edge
const PK_EDGE_find_deviation_o_t *options, --- Option structure
--- returned arguments ---
PK_EDGE_find_deviation_r_t *const result --- Results
)
This function finds distance samples between the two edges.
Specific Errors:
PK_ERROR_same_edge Both edges are the same (MILD)
PK_ERROR_missing_geom One of the edges has no curve geometry on it
(MILD)
PK_ERROR_no_overlap The edges had no overlap(MILD)
PK_ERROR_distancing_failed Determination of the distances not completed
because of algorithmic failure(MILD)
PK_EDGE_find_deviation_2 provides distance samples between two edges
received in 'edge1' and 'edge2'.
Either 'edge1' or 'edge2' is chosen to be the master edge from which the
distances will be computed. The selection is made by comparing the
geometry of the two edges to choose the most stable for the distance
calculations.
If successful one or more regions of overlap will be found. If no overlap
is found this results in the error PK_ERROR_no_overlap. Each region may be
extended or point-like.
The function assumes the two edges to present a reasonably parallel pairing
of curve geometries. Edges which differ significantly in direction can
produce non-intuitive results. Understanding these cases can be aided by
bearing in mind that the function seeks a collection of minimising, rather
than stationary, distances from sampled points on the master edge.
The sampling data is returned within a PK_EDGE_find_deviation_r_t which
contains an array of PK_EDGE_find_deviation_t. Each element of this array
corresponds to a region of overlap.