ClassesClassesClassesClasses | | | | Operators

intersection_segment_lineintersection_segment_lineIntersectionSegmentLineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLine (Operator)

Name

intersection_segment_lineintersection_segment_lineIntersectionSegmentLineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLine — Calculate the intersection point of a segment and a line

Signature

intersection_segment_line( : : SegmentRow1, SegmentColumn1, SegmentRow2, SegmentColumn2, LineRow1, LineColumn1, LineRow2, LineColumn2 : Row, Column, IsOverlapping)

Herror intersection_segment_line(double SegmentRow1, double SegmentColumn1, double SegmentRow2, double SegmentColumn2, double LineRow1, double LineColumn1, double LineRow2, double LineColumn2, double* Row, double* Column, Hlong* IsOverlapping)

Herror T_intersection_segment_line(const Htuple SegmentRow1, const Htuple SegmentColumn1, const Htuple SegmentRow2, const Htuple SegmentColumn2, const Htuple LineRow1, const Htuple LineColumn1, const Htuple LineRow2, const Htuple LineColumn2, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)

Herror intersection_segment_line(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, double* Row, double* Column, Hlong* IsOverlapping)

Herror intersection_segment_line(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

void IntersectionSegmentLine(const HTuple& SegmentRow1, const HTuple& SegmentColumn1, const HTuple& SegmentRow2, const HTuple& SegmentColumn2, const HTuple& LineRow1, const HTuple& LineColumn1, const HTuple& LineRow2, const HTuple& LineColumn2, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

void HOperatorSetX.IntersectionSegmentLine(
[in] VARIANT SegmentRow1, [in] VARIANT SegmentColumn1, [in] VARIANT SegmentRow2, [in] VARIANT SegmentColumn2, [in] VARIANT LineRow1, [in] VARIANT LineColumn1, [in] VARIANT LineRow2, [in] VARIANT LineColumn2, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* IsOverlapping)

static void HOperatorSet.IntersectionSegmentLine(HTuple segmentRow1, HTuple segmentColumn1, HTuple segmentRow2, HTuple segmentColumn2, HTuple lineRow1, HTuple lineColumn1, HTuple lineRow2, HTuple lineColumn2, out HTuple row, out HTuple column, out HTuple isOverlapping)

Description

intersection_segment_lineintersection_segment_lineIntersectionSegmentLineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLine calculates the intersection point of a segment and a line. The segment is defined by its endpoints (SegmentRow1SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1,SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1) and (SegmentRow2SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2,SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2). The line is defined by the two points (LineRow1LineRow1LineRow1LineRow1LineRow1lineRow1,LineColumn1LineColumn1LineColumn1LineColumn1LineColumn1lineColumn1) and (LineRow2LineRow2LineRow2LineRow2LineRow2lineRow2,LineColumn2LineColumn2LineColumn2LineColumn2LineColumn2lineColumn2). The intersection point, if it exists, is returned in (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn). If the segment and the line have a part in common, IsOverlappingIsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping returns the value 1, otherwise 0 is returned. In this case the endpoints of the mutual segment are returned in (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn).

Parallelization

Parameters

SegmentRow1SegmentRow1SegmentRow1SegmentRow1SegmentRow1segmentRow1 (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the first point of the segment.

SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1SegmentColumn1segmentColumn1 (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the first point of the segment.

SegmentRow2SegmentRow2SegmentRow2SegmentRow2SegmentRow2segmentRow2 (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the second point of the segment.

SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2SegmentColumn2segmentColumn2 (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the second point of the segment.

LineRow1LineRow1LineRow1LineRow1LineRow1lineRow1 (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the first point of the line.

LineColumn1LineColumn1LineColumn1LineColumn1LineColumn1lineColumn1 (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the first point of the line.

LineRow2LineRow2LineRow2LineRow2LineRow2lineRow2 (input_control)  point.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the second point of the line.

LineColumn2LineColumn2LineColumn2LineColumn2LineColumn2lineColumn2 (input_control)  point.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the second point of the line.

RowRowRowRowRowrow (output_control)  point.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row coordinate of the intersection point.

ColumnColumnColumnColumnColumncolumn (output_control)  point.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column coordinate of the intersection point.

IsOverlappingIsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping (output_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Do the segment and the line have a part in common?

Result

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

Alternatives

intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXld

See also

intersection_segmentsintersection_segmentsIntersectionSegmentsintersection_segmentsIntersectionSegmentsIntersectionSegments, intersection_linesintersection_linesIntersectionLinesintersection_linesIntersectionLinesIntersectionLines, intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXld, intersection_contours_xldintersection_contours_xldIntersectionContoursXldintersection_contours_xldIntersectionContoursXldIntersectionContoursXld

Module

Foundation


ClassesClassesClassesClasses | | | | Operators