intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegments (Operator)
Name
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegments — Berechnet den Schnittpunkt von zwei Geradenabschnitten
Signatur
Herror intersection_segments(double Segment1Row1, double Segment1Column1, double Segment1Row2, double Segment1Column2, double Segment2Row1, double Segment2Column1, double Segment2Row2, double Segment2Column2, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_segments(const Htuple Segment1Row1, const Htuple Segment1Column1, const Htuple Segment1Row2, const Htuple Segment1Column2, const Htuple Segment2Row1, const Htuple Segment2Column1, const Htuple Segment2Row2, const Htuple Segment2Column2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
void IntersectionSegments(const HTuple& Segment1Row1, const HTuple& Segment1Column1, const HTuple& Segment1Row2, const HTuple& Segment1Column2, const HTuple& Segment2Row1, const HTuple& Segment2Column1, const HTuple& Segment2Row2, const HTuple& Segment2Column2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)
static void HOperatorSet.IntersectionSegments(HTuple segment1Row1, HTuple segment1Column1, HTuple segment1Row2, HTuple segment1Column2, HTuple segment2Row1, HTuple segment2Column1, HTuple segment2Row2, HTuple segment2Column2, out HTuple row, out HTuple column, out HTuple isOverlapping)
Beschreibung
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegments berechnet den Schnittpunkt von zwei
Geradenabschnitten, die über deren Endpunkte
(Segment1Row1Segment1Row1Segment1Row1Segment1Row1segment1Row1,Segment1Column1Segment1Column1Segment1Column1Segment1Column1segment1Column1) und
(Segment1Row2Segment1Row2Segment1Row2Segment1Row2segment1Row2,Segment1Column2Segment1Column2Segment1Column2Segment1Column2segment1Column2)
beziehungsweise
(Segment2Row1Segment2Row1Segment2Row1Segment2Row1segment2Row1,Segment2Column1Segment2Column1Segment2Column1Segment2Column1segment2Column1) und
(Segment2Row2Segment2Row2Segment2Row2Segment2Row2segment2Row2,Segment2Column2Segment2Column2Segment2Column2Segment2Column2segment2Column2)
definiert werden. Der Schnittpunkt wird, falls vorhanden, in
(RowRowRowRowrow,ColumnColumnColumnColumncolumn) zurückgegeben.
Liegen Teile der Geradenabschnitte übereinander, liefert der
Parameter IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping den Wert 1 zurück, ansonsten wird der
Wert 0 zurückgegeben.
In diesem Fall werden
die Endpunkte des gemeinsamen Geradenabschnitts als Schnittpunkte in
(RowRowRowRowrow,ColumnColumnColumnColumncolumn) zurückgegeben.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
Segment1Row1Segment1Row1Segment1Row1Segment1Row1segment1Row1 (input_control) point.y → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes
des ersten Geradenabschnitts.
Segment1Column1Segment1Column1Segment1Column1Segment1Column1segment1Column1 (input_control) point.x → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes
des ersten Geradenabschnitts.
Segment1Row2Segment1Row2Segment1Row2Segment1Row2segment1Row2 (input_control) point.y → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes
des ersten Geradenabschnitts.
Segment1Column2Segment1Column2Segment1Column2Segment1Column2segment1Column2 (input_control) point.x → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes
des ersten Geradenabschnitts.
Segment2Row1Segment2Row1Segment2Row1Segment2Row1segment2Row1 (input_control) point.y → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes
des zweiten Geradenabschnitts.
Segment2Column1Segment2Column1Segment2Column1Segment2Column1segment2Column1 (input_control) point.x → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes
des zweiten Geradenabschnitts.
Segment2Row2Segment2Row2Segment2Row2Segment2Row2segment2Row2 (input_control) point.y → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes
des zweiten Geradenabschnitts.
Segment2Column2Segment2Column2Segment2Column2Segment2Column2segment2Column2 (input_control) point.x → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes
des zweiten Geradenabschnitts.
RowRowRowRowrow (output_control) point.y(-array) → HTupleHTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate des Schnittpunktes.
ColumnColumnColumnColumncolumn (output_control) point.x(-array) → HTupleHTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate des Schnittpunktes.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping (output_control) integer → HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Liegen Teile der Geradenabschnitte übereinander?
Ergebnis
Sind die Parameterwerte korrekt, dann liefert intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegments
den Wert 2 (H_MSG_TRUE).
Alternativen
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXld,
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXld
Siehe auch
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLine,
intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLines,
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXld
Modul
Foundation