intersection_linesintersection_linesIntersectionLinesIntersectionLines (Operator)
Name
intersection_linesintersection_linesIntersectionLinesIntersectionLines
— Berechnet den Schnittpunkt von zwei Geraden
Signatur
Herror intersection_lines(double Line1Row1, double Line1Column1, double Line1Row2, double Line1Column2, double Line2Row1, double Line2Column1, double Line2Row2, double Line2Column2, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_lines(const Htuple Line1Row1, const Htuple Line1Column1, const Htuple Line1Row2, const Htuple Line1Column2, const Htuple Line2Row1, const Htuple Line2Column1, const Htuple Line2Row2, const Htuple Line2Column2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
void IntersectionLines(const HTuple& Line1Row1, const HTuple& Line1Column1, const HTuple& Line1Row2, const HTuple& Line1Column2, const HTuple& Line2Row1, const HTuple& Line2Column1, const HTuple& Line2Row2, const HTuple& Line2Column2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)
static void HOperatorSet.IntersectionLines(HTuple line1Row1, HTuple line1Column1, HTuple line1Row2, HTuple line1Column2, HTuple line2Row1, HTuple line2Column1, HTuple line2Row2, HTuple line2Column2, out HTuple row, out HTuple column, out HTuple isOverlapping)
Beschreibung
intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLines
berechnet den Schnittpunkt von zwei
Geraden, die über jeweils zwei Punkte
(Line1Row1Line1Row1Line1Row1Line1Row1line1Row1
,Line1Column1Line1Column1Line1Column1Line1Column1line1Column1
) und
(Line1Row2Line1Row2Line1Row2Line1Row2line1Row2
,Line1Column2Line1Column2Line1Column2Line1Column2line1Column2
)
beziehungsweise
(Line2Row1Line2Row1Line2Row1Line2Row1line2Row1
,Line2Column1Line2Column1Line2Column1Line2Column1line2Column1
) und
(Line2Row2Line2Row2Line2Row2Line2Row2line2Row2
,Line2Column2Line2Column2Line2Column2Line2Column2line2Column2
)
definiert werden. Der Schnittpunkt, falls vorhanden,
wird in (RowRowRowRowrow
,ColumnColumnColumnColumncolumn
) zurückgegeben.
Sind die beiden Geraden identisch, liefert der
Parameter IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping
den Wert 1 zurück, ansonsten wird
der Wert 0 zurückgegeben.
In diesem Fall wird
kein Schnittpunkt 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
Line1Row1Line1Row1Line1Row1Line1Row1line1Row1
(input_control) point.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes der ersten Geraden.
Line1Column1Line1Column1Line1Column1Line1Column1line1Column1
(input_control) point.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes der ersten Geraden.
Line1Row2Line1Row2Line1Row2Line1Row2line1Row2
(input_control) point.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes der ersten Geraden.
Line1Column2Line1Column2Line1Column2Line1Column2line1Column2
(input_control) point.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes der ersten Geraden.
Line2Row1Line2Row1Line2Row1Line2Row1line2Row1
(input_control) point.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes der zweiten Geraden.
Line2Column1Line2Column1Line2Column1Line2Column1line2Column1
(input_control) point.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes der zweiten Geraden.
Line2Row2Line2Row2Line2Row2Line2Row2line2Row2
(input_control) point.y →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes der zweiten Geraden.
Line2Column2Line2Column2Line2Column2Line2Column2line2Column2
(input_control) point.x →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes der zweiten Geraden.
RowRowRowRowrow
(output_control) point.y →
HTupleHTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate des Schnittpunktes.
ColumnColumnColumnColumncolumn
(output_control) point.x →
HTupleHTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate des Schnittpunktes.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Sind die beiden Geraden identisch?
Ergebnis
Sind die Parameterwerte korrekt, dann liefert intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLines
den Wert 2 (H_MSG_TRUE).
Siehe auch
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegments
,
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLine
,
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXld
,
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXld
,
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXld
Modul
Foundation