intersection_linesintersection_linesIntersectionLinesIntersectionLines (Operator)

Name

intersection_linesintersection_linesIntersectionLinesIntersectionLines — Calculate the intersection point of two lines

Signature

intersection_lines( : : Line1Row1, Line1Column1, Line1Row2, Line1Column2, Line2Row1, Line2Column1, Line2Row2, Line2Column2 : Row, Column, IsOverlapping)

Herror intersection_lines(double Line1Row1, double Line1Column1, double Line1Row2, double Line1Column2, double Line2Row1, double Line2Column1, double Line2Row2, double Line2Column2, double* Row, double* Column, Hlong* IsOverlapping)

Herror T_intersection_lines(const Htuple Line1Row1, const Htuple Line1Column1, const Htuple Line1Row2, const Htuple Line1Column2, const Htuple Line2Row1, const Htuple Line2Column1, const Htuple Line2Row2, const Htuple Line2Column2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)

void IntersectionLines(const HTuple& Line1Row1, const HTuple& Line1Column1, const HTuple& Line1Row2, const HTuple& Line1Column2, const HTuple& Line2Row1, const HTuple& Line2Column1, const HTuple& Line2Row2, const HTuple& Line2Column2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

static void HOperatorSet.IntersectionLines(HTuple line1Row1, HTuple line1Column1, HTuple line1Row2, HTuple line1Column2, HTuple line2Row1, HTuple line2Column1, HTuple line2Row2, HTuple line2Column2, out HTuple row, out HTuple column, out HTuple isOverlapping)

Description

intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLines calculates the intersection point of two lines, which are defined by two of their points (Line1Row1Line1Row1Line1Row1Line1Row1line1Row1,Line1Column1Line1Column1Line1Column1Line1Column1line1Column1), (Line1Row2Line1Row2Line1Row2Line1Row2line1Row2,Line1Column2Line1Column2Line1Column2Line1Column2line1Column2), and (Line2Row1Line2Row1Line2Row1Line2Row1line2Row1,Line2Column1Line2Column1Line2Column1Line2Column1line2Column1), (Line2Row2Line2Row2Line2Row2Line2Row2line2Row2,Line2Column2Line2Column2Line2Column2Line2Column2line2Column2) respectively. The intersection point, if it exists, is returned in (RowRowRowRowrow,ColumnColumnColumnColumncolumn). If both lines are identical, IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping returns the value 1, otherwise 0 is returned. In this case no intersection point is returned in (RowRowRowRowrow,ColumnColumnColumnColumncolumn).

Execution Information

Parameters

Line1Row1Line1Row1Line1Row1Line1Row1line1Row1 (input_control)  point.y HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinate of the first point of the first line.

Line1Column1Line1Column1Line1Column1Line1Column1line1Column1 (input_control)  point.x HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinate of the first point of the first line.

Line1Row2Line1Row2Line1Row2Line1Row2line1Row2 (input_control)  point.y HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinate of the second point of the first line.

Line1Column2Line1Column2Line1Column2Line1Column2line1Column2 (input_control)  point.x HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinate of the second point of the first line.

Line2Row1Line2Row1Line2Row1Line2Row1line2Row1 (input_control)  point.y HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinate of the first point of the second line.

Line2Column1Line2Column1Line2Column1Line2Column1line2Column1 (input_control)  point.x HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinate of the first point of the second line.

Line2Row2Line2Row2Line2Row2Line2Row2line2Row2 (input_control)  point.y HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinate of the second point of the second line.

Line2Column2Line2Column2Line2Column2Line2Column2line2Column2 (input_control)  point.x HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinate of the second point of the second line.

RowRowRowRowrow (output_control)  point.y HTupleHTupleHtuple (real) (double) (double) (double)

Row coordinate of the intersection point.

ColumnColumnColumnColumncolumn (output_control)  point.x HTupleHTupleHtuple (real) (double) (double) (double)

Column coordinate of the intersection point.

IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping (output_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Are both lines identical?

Result

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

See also

intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegments, intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLine, intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXld, intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXld, intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXld

Module

Foundation