ClassesClasses | | Operators

intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegments (Operator)

Name

intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegments — Calculate the intersection point of two line segments

Signature

intersection_segments( : : Segment1Row1, Segment1Column1, Segment1Row2, Segment1Column2, Segment2Row1, Segment2Column1, Segment2Row2, Segment2Column2 : Row, Column, IsOverlapping)

Herror intersection_segments(double Segment1Row1, double Segment1Column1, double Segment1Row2, double Segment1Column2, double Segment2Row1, double Segment2Column1, double Segment2Row2, double Segment2Column2, double* Row, double* Column, Hlong* IsOverlapping)

Herror T_intersection_segments(const Htuple Segment1Row1, const Htuple Segment1Column1, const Htuple Segment1Row2, const Htuple Segment1Column2, const Htuple Segment2Row1, const Htuple Segment2Column1, const Htuple Segment2Row2, const Htuple Segment2Column2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)

void IntersectionSegments(const HTuple& Segment1Row1, const HTuple& Segment1Column1, const HTuple& Segment1Row2, const HTuple& Segment1Column2, const HTuple& Segment2Row1, const HTuple& Segment2Column1, const HTuple& Segment2Row2, const HTuple& Segment2Column2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

static void HOperatorSet.IntersectionSegments(HTuple segment1Row1, HTuple segment1Column1, HTuple segment1Row2, HTuple segment1Column2, HTuple segment2Row1, HTuple segment2Column1, HTuple segment2Row2, HTuple segment2Column2, out HTuple row, out HTuple column, out HTuple isOverlapping)

Description

intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsIntersectionSegments calculates the intersection point of two line segments, which are defined by their endpoints (Segment1Row1Segment1Row1Segment1Row1Segment1Row1segment1Row1,Segment1Column1Segment1Column1Segment1Column1Segment1Column1segment1Column1), (Segment1Row2Segment1Row2Segment1Row2Segment1Row2segment1Row2,Segment1Column2Segment1Column2Segment1Column2Segment1Column2segment1Column2), and (Segment2Row1Segment2Row1Segment2Row1Segment2Row1segment2Row1,Segment2Column1Segment2Column1Segment2Column1Segment2Column1segment2Column1), (Segment2Row2Segment2Row2Segment2Row2Segment2Row2segment2Row2,Segment2Column2Segment2Column2Segment2Column2Segment2Column2segment2Column2) respectively. The intersection point, if it exists, is returned in (RowRowRowRowrow,ColumnColumnColumnColumncolumn). If both segments have a part in common, IsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping returns the value 1, otherwise 0 is returned. In this case the endpoints of the mutual segment are returned in (RowRowRowRowrow,ColumnColumnColumnColumncolumn).

Execution Information

Parameters

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

Row coordinate of the first point of the first segment.

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

Column coordinate of the first point of the first segment.

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

Row coordinate of the second point of the first segment.

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

Column coordinate of the second point of the first segment.

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

Row coordinate of the first point of the second segment.

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

Column coordinate of the first point of the second segment.

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

Row coordinate of the second point of the second segment.

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

Column coordinate of the second point of the second segment.

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

Row coordinate of the intersection point.

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

Column coordinate of the intersection point.

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

Do both segments have a part in common?

Result

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

Alternatives

intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldIntersectionSegmentContourXld, intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldIntersectionContoursXld

See also

intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineIntersectionSegmentLine, intersection_linesintersection_linesIntersectionLinesIntersectionLinesIntersectionLines, intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldIntersectionLineContourXld

Module

Foundation


ClassesClasses | | Operators