intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld (Operator)
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld
— Calculate the intersection points of a line and an XLD contour
Signature
Herror intersection_line_contour_xld(const Hobject Contour, double LineRow1, double LineColumn1, double LineRow2, double LineColumn2, double* Row, double* Column, Hlong* IsOverlapping)
Herror T_intersection_line_contour_xld(const Hobject Contour, const Htuple LineRow1, const Htuple LineColumn1, const Htuple LineRow2, const Htuple LineColumn2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)
def intersection_line_contour_xld(contour: HObject, line_row_1: Union[float, int], line_column_1: Union[float, int], line_row_2: Union[float, int], line_column_2: Union[float, int]) -> Tuple[Sequence[float], Sequence[float], int]
def intersection_line_contour_xld_s(contour: HObject, line_row_1: Union[float, int], line_column_1: Union[float, int], line_row_2: Union[float, int], line_column_2: Union[float, int]) -> Tuple[float, float, int]
Description
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld
calculates the intersection points
of a line and an XLD ContourContourContourcontourcontour
. The line is defined by the points
(LineRow1LineRow1LineRow1lineRow1line_row_1
,LineColumn1LineColumn1LineColumn1lineColumn1line_column_1
) and
(LineRow2LineRow2LineRow2lineRow2line_row_2
,LineColumn2LineColumn2LineColumn2lineColumn2line_column_2
).
The intersection points, if any, are returned in
(RowRowRowrowrow
,ColumnColumnColumncolumncolumn
).
If a part of the XLD contour lies on the line
IsOverlappingIsOverlappingIsOverlappingisOverlappingis_overlapping
returns the value 1, otherwise 0 is returned.
In this case the endpoints of the XLD 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
ContourContourContourcontourcontour
(input_object) xld_cont →
objectHXLDContHObjectHObjectHobject
XLD contour.
LineRow1LineRow1LineRow1lineRow1line_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 line.
LineColumn1LineColumn1LineColumn1lineColumn1line_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 line.
LineRow2LineRow2LineRow2lineRow2line_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 line.
LineColumn2LineColumn2LineColumn2lineColumn2line_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 line.
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 the XLD contour lie on the line?
Result
If the parameters are valid, the operator
intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld
returns the value 2 (
H_MSG_TRUE)
.
Alternatives
intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineintersection_segment_line
See also
intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsintersection_segments
,
intersection_linesintersection_linesIntersectionLinesIntersectionLinesintersection_lines
,
intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld
,
intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld
Module
Foundation