Skip to content

intersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xldintersection_segment_contour_xld🔗

Short description🔗

intersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xldintersection_segment_contour_xld — Calculate the intersection points of a segment and an XLD contour

Signature🔗

intersection_segment_contour_xld( xld_cont Contour, point.y SegmentRow1, point.x SegmentColumn1, point.y SegmentRow2, point.x SegmentColumn2, out point.y Row, out point.x Column, out integer IsOverlapping )void IntersectionSegmentContourXld( const HObject& Contour, const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping )static void HOperatorSet.IntersectionSegmentContourXld( HObject contour, HTuple segmentRow1, HTuple segmentColumn1, HTuple segmentRow2, HTuple segmentColumn2, out HTuple row, out HTuple column, out 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]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 )

Description🔗

intersection_segment_contour_xldIntersectionSegmentContourXld calculates the intersection points of a segment and an XLD Contourcontourcontour. The segment is defined by its endpoints (SegmentRow1segmentRow1segment_row_1,SegmentColumn1segmentColumn1segment_column_1) and (SegmentRow2segmentRow2segment_row_2,SegmentColumn2segmentColumn2segment_column_2). The intersection points, if any, are returned in (Rowrowrow,Columncolumncolumn). If the segment and the XLD contour have a part in common IsOverlappingisOverlappingis_overlapping returns the value 1, otherwise 0 is returned. In this case the endpoints of the mutual segment are returned in (Rowrowrow,Columncolumncolumn).

Execution information🔗

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🔗

Contourcontourcontour (input_object) xld_cont → objectHObjectHXLDContHObjectHobject

XLD contour.

SegmentRow1segmentRow1segment_row_1 (input_control) point.y → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Row coordinate of the first point of the segment.

SegmentColumn1segmentColumn1segment_column_1 (input_control) point.x → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Column coordinate of the first point of the segment.

SegmentRow2segmentRow2segment_row_2 (input_control) point.y → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Row coordinate of the second point of the segment.

SegmentColumn2segmentColumn2segment_column_2 (input_control) point.x → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)

Column coordinate of the second point of the segment.

Rowrowrow (output_control) point.y(-array) → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)

Row coordinates of the intersection points.

Columncolumncolumn (output_control) point.x(-array) → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)

Column coordinates of the intersection points.

IsOverlappingisOverlappingis_overlapping (output_control) integer → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Do the segment and the XLD contour have a part in common?

Result🔗

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

Combinations with other operators🔗

Combinations

Alternatives

intersection_segmentsIntersectionSegments, intersection_contours_xldIntersectionContoursXld

See also

intersection_segment_lineIntersectionSegmentLine, intersection_linesIntersectionLines, intersection_line_contour_xldIntersectionLineContourXld

Module🔗

Foundation