intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld (Operator)
Name
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld — Berechnet die Schnittpunkte von einem Geradenabschnitt und einer XLD-Kontur
Signatur
Herror intersection_segment_contour_xld(const Hobject Contour, double SegmentRow1, double SegmentColumn1, double SegmentRow2, double SegmentColumn2, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_segment_contour_xld(const Hobject Contour, const Htuple SegmentRow1, const Htuple SegmentColumn1, const Htuple SegmentRow2, const Htuple SegmentColumn2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
def intersection_segment_contour_xld(contour: HObject, segment_row_1: Union[float, int], segment_column_1: Union[float, int], segment_row_2: Union[float, int], segment_column_2: Union[float, int]) -> Tuple[Sequence[float], Sequence[float], int]
def intersection_segment_contour_xld_s(contour: HObject, segment_row_1: Union[float, int], segment_column_1: Union[float, int], segment_row_2: Union[float, int], segment_column_2: Union[float, int]) -> Tuple[float, float, int]
Beschreibung
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld berechnet die Schnittpunkte
von einem Geradenabschnitt und einer XLD-Kontur ContourContourContourContourcontourcontour.
Der Geradenabschnitt wird über dessen Endpunkte
(SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1,SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1) und
(SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2,SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2) definiert.
Die Schnittpunkte, falls vorhanden, werden in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn)
zurückgegeben.
Liegen ein Teil des Geradenabschnitts und der XLD-Kontur übereinander,
liefert der Parameter IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping
den Wert 1 zurück, ansonsten wird der Wert 0 zurückgegeben.
In diesem Fall werden die Endpunkte des gemeinsamen Geradenabschnitts als
Schnittpunkte in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) 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
ContourContourContourContourcontourcontour (input_object) xld_cont → objectHXLDContHObjectHXLDContHobject
XLD-Kontur.
SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1 (input_control) point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des ersten Punktes
des Geradenabschnitts.
SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1 (input_control) point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des ersten Punktes
des Geradenabschnitts.
SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2 (input_control) point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des zweiten Punktes
des Geradenabschnitts.
SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2 (input_control) point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des zweiten Punktes
des Geradenabschnitts.
RowRowRowRowrowrow (output_control) point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinaten der Schnittpunkte.
ColumnColumnColumnColumncolumncolumn (output_control) point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinaten der Schnittpunkte.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping (output_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Sind ein Teil des Geradenabschnitts und der XLD-Kontur
identisch?
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld den Wert TRUE.
Alternativen
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegmentsintersection_segments,
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld
Siehe auch
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLineintersection_segment_line,
intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLinesintersection_lines,
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld
Modul
Foundation