Name
distance_ccdistance_ccDistanceCcDistanceCc — Calculate the distance between two contours.
void DistanceCc(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin, HTuple* DistanceMax)
void HXLDCont::DistanceCc(const HXLDCont& Contour2, const HString& Mode, HTuple* DistanceMin, HTuple* DistanceMax) const
void HXLDCont::DistanceCc(const HXLDCont& Contour2, const HString& Mode, double* DistanceMin, double* DistanceMax) const
void HXLDCont::DistanceCc(const HXLDCont& Contour2, const char* Mode, double* DistanceMin, double* DistanceMax) const
static void HOperatorSet.DistanceCc(HObject contour1, HObject contour2, HTuple mode, out HTuple distanceMin, out HTuple distanceMax)
void HXLDCont.DistanceCc(HXLDCont contour2, string mode, out HTuple distanceMin, out HTuple distanceMax)
void HXLDCont.DistanceCc(HXLDCont contour2, string mode, out double distanceMin, out double distanceMax)
The operator distance_ccdistance_ccDistanceCcDistanceCcDistanceCc calculates the minimum and maximum
distance between the base points of two contours ( Contour1Contour1Contour1Contour1contour1
and Contour2Contour2Contour2Contour2contour2).
The parameters DistanceMinDistanceMinDistanceMinDistanceMindistanceMin and DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMax
contain the resulting distance.
The parameter ModeModeModeModemode sets the type of computing the
distance: 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point" only determines the minimum and
maximum distance between the base points of the contours. This results in
faster algorithm, but may lead to inaccurate minimum
distances. In contrast, 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment" determines the
actual minimum distance between the contour segments.
In both cases, the search algorithm has a quadratic complexitity (n*n).
If only the minimum distance is required, the operator
distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMin can be used alternatively since it offers
algorithms with a complexity of 'n*log(n)'"n*log(n)""n*log(n)""n*log(n)""n*log(n)".
Both iconic input parameters must contain the same number of contours.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Distance calculation mode.
Default value:
'point_to_point'
"point_to_point"
"point_to_point"
"point_to_point"
"point_to_point"
List of values: 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point", 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment"
Minimum distance between both contours.
Maximum distance between both contours.
gen_contour_polygon_rounded_xld(Cont1, [0,100,100,0,0], [0,0,100,100,0],
[50,50,50,50,50], 0.5);
gen_contour_polygon_rounded_xld(Cont2, [41,91,91,41,41], [41,41,91,91,41],
[25,25,25,25,25], 0.5);
distance_cc(Cont1, Cont2, 'point_to_point', &distance_min, &distance_max);
distance_ccdistance_ccDistanceCcDistanceCcDistanceCc returns 2 (H_MSG_TRUE).
distance_scdistance_scDistanceScDistanceScDistanceSc,
distance_pcdistance_pcDistancePcDistancePcDistancePc,
distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMin,
distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXld
distance_srdistance_srDistanceSrDistanceSrDistanceSr,
distance_prdistance_prDistancePrDistancePrDistancePr
Foundation