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_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld
calculates the intersection points
of a circle or circular arc and the XLD ContourContourContourContourcontourcontour
.
The circle is defined by its center
(CircleRowCircleRowCircleRowCircleRowcircleRowcircle_row
,CircleColumnCircleColumnCircleColumnCircleColumncircleColumncircle_column
) and its radius
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_radius
. In addition to that, a circular arc is characterized
by the angle of the start point CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi
, the angle of the
end point CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi
, and the point order
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order
along the boundary.
If CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order
is set to 'positive'"positive""positive""positive""positive""positive", the circular arc
is defined counterclockwise.
If CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order
is set to 'negative'"negative""negative""negative""negative""negative", the circular arc
is defined clockwise.
The intersection points, if any, are returned in
(RowRowRowRowrowrow
,ColumnColumnColumnColumncolumncolumn
).
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
ContourContourContourContourcontourcontour
(input_object) xld_cont →
objectHXLDContHObjectHXLDContHobject
XLD contour.
CircleRowCircleRowCircleRowCircleRowcircleRowcircle_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.
CircleColumnCircleColumnCircleColumnCircleColumncircleColumncircle_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.
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadiuscircle_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.
CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhicircle_start_phi
(input_control) angle.rad →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Angle of the start point of the circle or
circular arc [rad].
Default value: 0.0
CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhicircle_end_phi
(input_control) angle.rad →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Angle of the end point of the circle or
circular arc [rad].
Default value: 6.28318
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrdercircle_point_order
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Point order along the circle or circular arc.
Default value:
'positive'
"positive"
"positive"
"positive"
"positive"
"positive"
List of values: 'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive"
RowRowRowRowrowrow
(output_control) point.y(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the intersection points.
ColumnColumnColumnColumncolumncolumn
(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_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld
returns the value TRUE.
Alternatives
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircleintersection_segment_circle
See also
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircleintersection_line_circle
Module
Foundation