Operator Reference

intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld (Operator)

intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld — Calculate the intersection points of two XLD contours

Signature

intersection_contours_xld(Contour1, Contour2 : : IntersectionType : Row, Column, IsOverlapping)

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)

void IntersectionContoursXld(const HObject& Contour1, const HObject& Contour2, const HTuple& IntersectionType, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

static void HOperatorSet.IntersectionContoursXld(HObject contour1, HObject contour2, HTuple intersectionType, out HTuple row, out HTuple column, out HTuple isOverlapping)

def intersection_contours_xld(contour_1: HObject, contour_2: HObject, intersection_type: str) -> Tuple[Sequence[float], Sequence[float], int]

def intersection_contours_xld_s(contour_1: HObject, contour_2: HObject, intersection_type: str) -> Tuple[float, float, int]

Description

intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld calculates the intersection points of the XLD Contour1Contour1Contour1contour1contour_1 and XLD Contour2Contour2Contour2contour2contour_2 which, if any, are returned in (RowRowRowrowrow,ColumnColumnColumncolumncolumn). The value in IntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type defines the way to calculate the intersections points. By setting IntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'self'"self""self""self""self", only the self intersections within both contours are returned, i.e., the intersections within Contour1Contour1Contour1contour1contour_1 and XLD Contour2Contour2Contour2contour2contour_2. For IntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'mutual'"mutual""mutual""mutual""mutual", only the intersections between both contours are taken into account. The default value is IntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type = 'all'"all""all""all""all". In this case both, the self and the mutual intersections are returned in RowRowRowrowrow,ColumnColumnColumncolumncolumn). If parts of the contours overlap in more than one point IsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping returns the value 1, otherwise 0 is returned. IsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping is set with regard to both the self and mutual overlap, regardless of the setting in IntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type. In case of a mutual overlap, the endpoints of the mutual segment are returned in (RowRowRowrowrow,ColumnColumnColumncolumncolumn).

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

Contour1Contour1Contour1contour1contour_1 (input_object)  xld_cont objectHXLDContHObjectHObjectHobject

First XLD contour.

Contour2Contour2Contour2contour2contour_2 (input_object)  xld_cont objectHXLDContHObjectHObjectHobject

Second XLD contour.

IntersectionTypeIntersectionTypeIntersectionTypeintersectionTypeintersection_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Intersection points to be returned.

Default: 'all' "all" "all" "all" "all"

List of values: 'all'"all""all""all""all", 'mutual'"mutual""mutual""mutual""mutual", 'self'"self""self""self""self"

RowRowRowrowrow (output_control)  point.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinates of the intersection points.

ColumnColumnColumncolumncolumn (output_control)  point.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of the intersection points.

IsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping (output_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Does a part of a contour lie above another contour part?

Result

If the parameters are valid, the operator intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld returns the value 2 ( H_MSG_TRUE) .

Alternatives

intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsintersection_segments, intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld

See also

intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineintersection_segment_line, intersection_linesintersection_linesIntersectionLinesIntersectionLinesintersection_lines, intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld

Module

Foundation