KlassenKlassenKlassenKlassen | | | | Operatoren

distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin (Operator)

Name

distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin — Berechnen des minimalen Abstandes zwischen zwei Konturen.

Signatur

distance_cc_min(Contour1, Contour2 : : Mode : DistanceMin)

Herror distance_cc_min(const Hobject Contour1, const Hobject Contour2, const char* Mode, double* DistanceMin)

Herror T_distance_cc_min(const Hobject Contour1, const Hobject Contour2, const Htuple Mode, Htuple* DistanceMin)

Herror distance_cc_min(Hobject Contour1, Hobject Contour2, const HTuple& Mode, double* DistanceMin)

Herror distance_cc_min(Hobject Contour1, Hobject Contour2, const HTuple& Mode, HTuple* DistanceMin)

double HXLDCont::DistanceCcMin(const HXLDCont& Contour2, const HTuple& Mode) const

HTuple HXLDContArray::DistanceCcMin(const HXLDContArray& Contour2, const HTuple& Mode) const

void DistanceCcMin(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin)

HTuple HXLDCont::DistanceCcMin(const HXLDCont& Contour2, const HString& Mode) const

HTuple HXLDCont::DistanceCcMin(const HXLDCont& Contour2, const char* Mode) const

void HOperatorSetX.DistanceCcMin(
[in] IHUntypedObjectX* Contour1, [in] IHUntypedObjectX* Contour2, [in] VARIANT Mode, [out] VARIANT* DistanceMin)

VARIANT HXLDContX.DistanceCcMin(
[in] IHXLDContX* Contour2, [in] BSTR Mode)

static void HOperatorSet.DistanceCcMin(HObject contour1, HObject contour2, HTuple mode, out HTuple distanceMin)

HTuple HXLDCont.DistanceCcMin(HXLDCont contour2, string mode)

Beschreibung

distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin berechnet den minimalen Abstand zwischen zwei Konturen. Als Eingabe werden die beiden Konturen Contour1Contour1Contour1Contour1Contour1contour1,Contour2Contour2Contour2Contour2Contour2contour2 erwartet. Das jeweilige Ergebnis wird in DistanceMinDistanceMinDistanceMinDistanceMinDistanceMindistanceMin übergeben.

Der Parameter ModeModeModeModeModemode gibt dabei an auf welche Weise der Abstand berechnet wird. 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" bestimmt nur die nächstgelegenen Konturpunkte und deren Abstand, 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment" berechnet den Abstand der Liniensegmente in der Umgebung dieser Eckpunkte und 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" bestimmt den tatsächlichen minimalen Abstand der Kontursegmente.

Während 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" und 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment" effiziente Algorithmen der Komplexität n*log(n) sind, hat 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" quadratische Komplexität, die sich in einer längeren Rechenzeit niederschlägt, insbesondere bei Konturen mit vielen Liniensegmenten.

Achtung

Beide Eingabeparameter müssen die gleiche Anzahl von Konturen enthalten.

Parallelisierung

Parameter

Contour1Contour1Contour1Contour1Contour1contour1 (input_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject

Erste Eingabekontur.

Contour2Contour2Contour2Contour2Contour2contour2 (input_object)  xld_cont(-array) objectHXLDContHXLDContHXLDContHXLDContXHobject

Zweite Eingabekontur.

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der Abstandsberechnung.

Defaultwert: 'fast_point_to_segment' "fast_point_to_segment" "fast_point_to_segment" "fast_point_to_segment" "fast_point_to_segment" "fast_point_to_segment"

Werteliste: 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment", 'point_to_point'"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""point_to_segment"

DistanceMinDistanceMinDistanceMinDistanceMinDistanceMindistanceMin (output_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Minimaler Abstand zwischen beiden Konturen.

Beispiel (C)

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_min(Cont1, Cont2, "fast_point_to_segment", &distance_min);

Ergebnis

distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin liefert den Wert 2 (H_MSG_TRUE).

Alternativen

distance_scdistance_scDistanceScdistance_scDistanceScDistanceSc, distance_pcdistance_pcDistancePcdistance_pcDistancePcDistancePc, distance_ccdistance_ccDistanceCcdistance_ccDistanceCcDistanceCc, distance_contours_xlddistance_contours_xldDistanceContoursXlddistance_contours_xldDistanceContoursXldDistanceContoursXld

Siehe auch

distance_srdistance_srDistanceSrdistance_srDistanceSrDistanceSr, distance_prdistance_prDistancePrdistance_prDistancePrDistancePr

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren