intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXld (Operator)
Name
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXld
— 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_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXld
berechnet die Schnittpunkte
der XLD-Konturen Contour1Contour1Contour1Contour1contour1
und Contour2Contour2Contour2Contour2contour2
, die, falls
vorhanden, in (RowRowRowRowrow
,ColumnColumnColumnColumncolumn
) zurückgegeben werden.
Der Parameter IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionType
beschreibt die Art der
Schnittpunkte, die in (RowRowRowRowrow
,ColumnColumnColumnColumncolumn
) ausgegeben werden
sollen.
Für IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionType
= 'self'"self""self""self""self"
werden nur die Selbstüberschneidungen innerhalb der Konturen
ausgegeben, d.h. die Schnittpunkte innerhalb der Contour1Contour1Contour1Contour1contour1
und
innerhalb der Contour2Contour2Contour2Contour2contour2
.
Für IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionType
= 'mutual'"mutual""mutual""mutual""mutual" werden
nur die Schnittpunkte berücksichtigt, die zwischen Contour1Contour1Contour1Contour1contour1
und
Contour2Contour2Contour2Contour2contour2
bestehen.
Im Standardfall gilt IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionType
= '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 IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping
den Wert 1, ansonsten wird der Wert 0 zurückgegeben.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping
berücksichtigt sowohl Selbstüberlappungen als
auch gegenseitige Überlappungen, unabhängig von IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionType
.
Im Fall einer gegenseitigen Überlappung 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
Contour1Contour1Contour1Contour1contour1
(input_object) xld_cont →
objectHXLDContHXLDContHobject
Erste XLD-Kontur.
Contour2Contour2Contour2Contour2contour2
(input_object) xld_cont →
objectHXLDContHXLDContHobject
Zweite XLD-Kontur.
IntersectionTypeIntersectionTypeIntersectionTypeIntersectionTypeintersectionType
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Schnittpunkte, die zurückgegeben werden sollen.
Defaultwert:
'all'
"all"
"all"
"all"
"all"
Werteliste: 'all'"all""all""all""all", 'mutual'"mutual""mutual""mutual""mutual", 'self'"self""self""self""self"
RowRowRowRowrow
(output_control) point.y(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate der Schnittpunkte.
ColumnColumnColumnColumncolumn
(output_control) point.x(-array) →
HTupleHTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate der Schnittpunkte.
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Liegen Teile der XLD-Konturabschnitte übereinander?
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXld
den Wert 2 (H_MSG_TRUE).
Alternativen
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegments
,
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXld
Siehe auch
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLine
,
intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLines
,
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXld
Modul
Foundation