Operator Reference

area_intersection_rectangle2area_intersection_rectangle2AreaIntersectionRectangle2AreaIntersectionRectangle2area_intersection_rectangle2 (Operator)

area_intersection_rectangle2area_intersection_rectangle2AreaIntersectionRectangle2AreaIntersectionRectangle2area_intersection_rectangle2 — Calculate the intersection area of oriented rectangles.

Signature

Herror area_intersection_rectangle2(double Rect1Row, double Rect1Column, double Rect1Phi, double Rect1Length1, double Rect1Length2, double Rect2Row, double Rect2Column, double Rect2Phi, double Rect2Length1, double Rect2Length2, double* AreaIntersection)

Herror T_area_intersection_rectangle2(const Htuple Rect1Row, const Htuple Rect1Column, const Htuple Rect1Phi, const Htuple Rect1Length1, const Htuple Rect1Length2, const Htuple Rect2Row, const Htuple Rect2Column, const Htuple Rect2Phi, const Htuple Rect2Length1, const Htuple Rect2Length2, Htuple* AreaIntersection)

void AreaIntersectionRectangle2(const HTuple& Rect1Row, const HTuple& Rect1Column, const HTuple& Rect1Phi, const HTuple& Rect1Length1, const HTuple& Rect1Length2, const HTuple& Rect2Row, const HTuple& Rect2Column, const HTuple& Rect2Phi, const HTuple& Rect2Length1, const HTuple& Rect2Length2, HTuple* AreaIntersection)

def area_intersection_rectangle2(rect_1row: MaybeSequence[Union[float, int]], rect_1column: MaybeSequence[Union[float, int]], rect_1phi: MaybeSequence[Union[float, int]], rect_1length_1: MaybeSequence[Union[float, int]], rect_1length_2: MaybeSequence[Union[float, int]], rect_2row: MaybeSequence[Union[float, int]], rect_2column: MaybeSequence[Union[float, int]], rect_2phi: MaybeSequence[Union[float, int]], rect_2length_1: MaybeSequence[Union[float, int]], rect_2length_2: MaybeSequence[Union[float, int]]) -> Sequence[float]

def area_intersection_rectangle2_s(rect_1row: MaybeSequence[Union[float, int]], rect_1column: MaybeSequence[Union[float, int]], rect_1phi: MaybeSequence[Union[float, int]], rect_1length_1: MaybeSequence[Union[float, int]], rect_1length_2: MaybeSequence[Union[float, int]], rect_2row: MaybeSequence[Union[float, int]], rect_2column: MaybeSequence[Union[float, int]], rect_2phi: MaybeSequence[Union[float, int]], rect_2length_1: MaybeSequence[Union[float, int]], rect_2length_2: MaybeSequence[Union[float, int]]) -> float

Description

area_intersection_rectangle2area_intersection_rectangle2AreaIntersectionRectangle2AreaIntersectionRectangle2area_intersection_rectangle2 calculates the intersection area of two oriented rectangles (i.e., of type rectangle2), which are defined by their parameters (center (Rect1RowRect1RowRect1Rowrect1Rowrect_1row, Rect1ColumnRect1ColumnRect1Columnrect1Columnrect_1column), orientation Rect1PhiRect1PhiRect1Phirect1Phirect_1phi, and the half edge lengths Rect1Length1Rect1Length1Rect1Length1rect1Length1rect_1length_1 and Rect1Length2Rect1Length2Rect1Length2rect1Length2rect_1length_2) and (center (Rect2RowRect2RowRect2Rowrect2Rowrect_2row, Rect2ColumnRect2ColumnRect2Columnrect2Columnrect_2column), orientation Rect2PhiRect2PhiRect2Phirect2Phirect_2phi, and the half edge lengths Rect2Length1Rect2Length1Rect2Length1rect2Length1rect_2length_1 and Rect2Length2Rect2Length2Rect2Length2rect2Length2rect_2length_2), respectively. The intersection area is returned in AreaIntersectionAreaIntersectionAreaIntersectionareaIntersectionarea_intersection.

Parameter Broadcasting

This operator supports parameter broadcasting. This means that each parameter can be given as a tuple of length 1 or N. Parameters with tuple length 1 will be repeated internally such that the number of results is always N.

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

Rect1RowRect1RowRect1Rowrect1Rowrect_1row (input_control)  rectangle2.center.y(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Center row coordinate of the first rectangle.

Rect1ColumnRect1ColumnRect1Columnrect1Columnrect_1column (input_control)  rectangle2.center.x(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Center column coordinate of the first rectangle.

Rect1PhiRect1PhiRect1Phirect1Phirect_1phi (input_control)  rectangle2.angle.rad(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Angle between the positive horizontal axis and the first edge of the first rectangle (in radians).

Rect1Length1Rect1Length1Rect1Length1rect1Length1rect_1length_1 (input_control)  rectangle2.hwidth(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Half length of the first edge of the first rectangle.

Rect1Length2Rect1Length2Rect1Length2rect1Length2rect_1length_2 (input_control)  rectangle2.hheight(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Half length of the second edge of the first rectangle.

Rect2RowRect2RowRect2Rowrect2Rowrect_2row (input_control)  rectangle2.center.y(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Center row coordinate of the second rectangle.

Rect2ColumnRect2ColumnRect2Columnrect2Columnrect_2column (input_control)  rectangle2.center.x(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Center column coordinate of the second rectangle.

Rect2PhiRect2PhiRect2Phirect2Phirect_2phi (input_control)  rectangle2.angle.rad(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Angle between the positive horizontal axis and the first edge of the second rectangle (in radians).

Rect2Length1Rect2Length1Rect2Length1rect2Length1rect_2length_1 (input_control)  rectangle2.hwidth(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Half length of the first edge of the second rectangle.

Rect2Length2Rect2Length2Rect2Length2rect2Length2rect_2length_2 (input_control)  rectangle2.hheight(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Half length of the second edge of the second rectangle.

AreaIntersectionAreaIntersectionAreaIntersectionareaIntersectionarea_intersection (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Intersection area of the first rectangle with the second rectangle.

Result

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

See also

gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2gen_rectangle2, intersection_segmentsintersection_segmentsIntersectionSegmentsIntersectionSegmentsintersection_segments, intersection_segment_lineintersection_segment_lineIntersectionSegmentLineIntersectionSegmentLineintersection_segment_line, intersection_segment_contour_xldintersection_segment_contour_xldIntersectionSegmentContourXldIntersectionSegmentContourXldintersection_segment_contour_xld, intersection_line_contour_xldintersection_line_contour_xldIntersectionLineContourXldIntersectionLineContourXldintersection_line_contour_xld, intersection_contours_xldintersection_contours_xldIntersectionContoursXldIntersectionContoursXldintersection_contours_xld

Module

Foundation