intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld (Operator)
Name
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld — Calculate the intersection points of a segment and an XLD contour
Signature
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]
 
Description
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld calculates the intersection points
of a segment and an XLD ContourContourContourContourcontourcontour. The segment is defined by its
endpoints (SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1,SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1) and
(SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2,SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2).
The intersection points, if any, are returned in 
(RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn).
If the segment and the XLD contour have a part in common 
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping returns the value 1, otherwise 0 is returned.
In this case the endpoints of the mutual 
segment are returned in (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn).
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
  
ContourContourContourContourcontourcontour (input_object)  xld_cont → objectHXLDContHObjectHXLDContHobject
 
XLD contour.
 
  
SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1segment_row_1 (input_control)  point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
 
Row coordinate of the first point of the segment.
 
  
SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1segment_column_1 (input_control)  point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
 
Column coordinate of the first point of the segment.
 
  
SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2segment_row_2 (input_control)  point.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
 
Row coordinate of the second point of the segment.
 
  
SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2segment_column_2 (input_control)  point.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
 
Column coordinate of the second point of the segment.
 
  
RowRowRowRowrowrow (output_control)  point.y(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
 
Row coordinates of the intersection points.
 
  
ColumnColumnColumnColumncolumncolumn (output_control)  point.x(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
 
Column coordinates of the intersection points.
 
  
IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping (output_control)  integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
 
Do the segment and the XLD contour have a part in common?
 
Result
If the parameters are valid, the operator
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld returns the value TRUE.
Alternatives
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegmentsintersection_segments, 
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld
See also
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLineintersection_segment_line, 
intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLinesintersection_lines, 
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld
Module
Foundation