intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld (Operator)
Name
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld — Berechnet die Schnittpunkte von zwei XLD-Konturen
Signatur
Herror intersection_contours_xld(const Hobject Contour1, const Hobject Contour2, const char* IntersectionType, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_contours_xld(const Hobject Contour1, const Hobject Contour2, const Htuple IntersectionType, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
Beschreibung
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld berechnet die Schnittpunkte
der XLD-Konturen Contour1Contour1Contour1Contour1contour1contour_1 und Contour2Contour2Contour2Contour2contour2contour_2, die, falls
vorhanden, in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) zurückgegeben werden.
Der Parameter IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type beschreibt die Art der
Schnittpunkte, die in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) ausgegeben werden
sollen.
Für IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'self'"self""self""self""self""self"
werden nur die Selbstüberschneidungen innerhalb der Konturen
ausgegeben, d.h. die Schnittpunkte innerhalb der Contour1Contour1Contour1Contour1contour1contour_1 und
innerhalb der Contour2Contour2Contour2Contour2contour2contour_2.
Für IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'mutual'"mutual""mutual""mutual""mutual""mutual" werden
nur die Schnittpunkte berücksichtigt, die zwischen Contour1Contour1Contour1Contour1contour1contour_1 und
Contour2Contour2Contour2Contour2contour2contour_2 bestehen.
Im Standardfall gilt IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'all'"all""all""all""all""all".
Hier werden sowohl die Selbstüberschneidungen als auch die gegenseitigen
Überschneidungen als Schnittpunkte gewertet.
Liegen Teile der XLD-Konturabschnitte übereinander,
liefert der Parameter IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping
den Wert 1, ansonsten wird der Wert 0 zurückgegeben.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping berücksichtigt sowohl Selbstüberlappungen als
auch gegenseitige Überlappungen, unabhängig von IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type.
Im Fall einer gegenseitigen Überlappung 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
Contour1Contour1Contour1Contour1contour1contour_1 (input_object) xld_cont → objectHXLDContHObjectHXLDContHobject
Erste XLD-Kontur.
Contour2Contour2Contour2Contour2contour2contour_2 (input_object) xld_cont → objectHXLDContHObjectHXLDContHobject
Zweite XLD-Kontur.
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Schnittpunkte, die zurückgegeben werden sollen.
Defaultwert:
'all'
"all"
"all"
"all"
"all"
"all"
Werteliste: 'all'"all""all""all""all""all", 'mutual'"mutual""mutual""mutual""mutual""mutual", 'self'"self""self""self""self""self"
RowRowRowRowrowrow (output_control) point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate der Schnittpunkte.
ColumnColumnColumnColumncolumncolumn (output_control) point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate der Schnittpunkte.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping (output_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Liegen Teile der XLD-Konturabschnitte übereinander?
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld den Wert 2 (H_MSG_TRUE).
Alternativen
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegmentsintersection_segments,
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_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