intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld (Operator)
Name
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld — Calculate the intersection points of a circle or circular arc and an
XLD contour
Signature
Herror intersection_circle_contour_xld(const Hobject Contour, double CircleRow, double CircleColumn, double CircleRadius, double CircleStartPhi, double CircleEndPhi, const char* CirclePointOrder, double* Row, double* Column)
Herror T_intersection_circle_contour_xld(const Hobject Contour, const Htuple CircleRow, const Htuple CircleColumn, const Htuple CircleRadius, const Htuple CircleStartPhi, const Htuple CircleEndPhi, const Htuple CirclePointOrder, Htuple* Row, Htuple* Column)
def intersection_circle_contour_xld(contour: HObject, circle_row: Union[float, int], circle_column: Union[float, int], circle_radius: Union[float, int], circle_start_phi: float, circle_end_phi: float, circle_point_order: str) -> Tuple[Sequence[float], Sequence[float]]
def intersection_circle_contour_xld_s(contour: HObject, circle_row: Union[float, int], circle_column: Union[float, int], circle_radius: Union[float, int], circle_start_phi: float, circle_end_phi: float, circle_point_order: str) -> Tuple[float, float]
Description
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld calculates the intersection points
of a circle or circular arc and the XLD ContourContourContourcontourcontour.
The circle is defined by its center
(CircleRowCircleRowCircleRowcircleRowcircle_row,CircleColumnCircleColumnCircleColumncircleColumncircle_column) and its radius
CircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius. In addition to that, a circular arc is characterized
by the angle of the start point CircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi, the angle of the
end point CircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi, and the point order
CirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order along the boundary.
If CirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order is set to 'positive'"positive""positive""positive""positive", the circular arc
is defined counterclockwise.
If CirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order is set to 'negative'"negative""negative""negative""negative", the circular arc
is defined clockwise.
The intersection points, if any, 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.
CircleRowCircleRowCircleRowcircleRowcircle_row (input_control) circle.center.y → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the center of the circle or
circular arc.
CircleColumnCircleColumnCircleColumncircleColumncircle_column (input_control) circle.center.x → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the center of the circle or
circular arc.
CircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius (input_control) circle.radius → HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius of the circle or circular arc.
CircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Angle of the start point of the circle or
circular arc [rad].
Default:
0.0
CircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Angle of the end point of the circle or
circular arc [rad].
Default:
6.28318
CirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Point order along the circle or circular arc.
Default:
'positive'
"positive"
"positive"
"positive"
"positive"
List of values:
'negative'"negative""negative""negative""negative", 'positive'"positive""positive""positive""positive"
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.
Result
If the parameters are valid, the operator
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld returns the value 2 (
H_MSG_TRUE)
.
Alternatives
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle
See also
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleintersection_line_circle
Module
Foundation