intersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xldintersection_circle_contour_xld
Short description
intersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xldintersection_circle_contour_xld — Calculate the intersection points of a circle or circular arc and an
XLD contour
Signature
intersection_circle_contour_xld( xld_cont Contour, circle.center.y CircleRow, circle.center.x CircleColumn, circle.radius CircleRadius, angle.rad CircleStartPhi, angle.rad CircleEndPhi, string CirclePointOrder, out point.y Row, out point.x Column )void IntersectionCircleContourXld( 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 )static void HOperatorSet.IntersectionCircleContourXld( HObject contour, HTuple circleRow, HTuple circleColumn, HTuple circleRadius, HTuple circleStartPhi, HTuple circleEndPhi, HTuple circlePointOrder, out HTuple row, out 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]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 )
Description
intersection_circle_contour_xldIntersectionCircleContourXld calculates the intersection points
of a circle or circular arc and the XLD Contourcontourcontour.
The circle is defined by its center
(CircleRowcircleRowcircle_row,CircleColumncircleColumncircle_column) and its radius
CircleRadiuscircleRadiuscircle_radius. In addition to that, a circular arc is characterized
by the angle of the start point CircleStartPhicircleStartPhicircle_start_phi, the angle of the
end point CircleEndPhicircleEndPhicircle_end_phi, and the point order
CirclePointOrdercirclePointOrdercircle_point_order along the boundary.
If CirclePointOrdercirclePointOrdercircle_point_order is set to 'positive'"positive", the circular arc
is defined counterclockwise.
If CirclePointOrdercirclePointOrdercircle_point_order is set to 'negative'"negative", the circular arc
is defined clockwise.
The intersection points, if any, are returned in
(Rowrowrow,Columncolumncolumn).
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
Contourcontourcontour (input_object) xld_cont → objectHObjectHXLDContHObjectHobject
XLD contour.
CircleRowcircleRowcircle_row (input_control) circle.center.y → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)
Row coordinate of the center of the circle or
circular arc.
CircleColumncircleColumncircle_column (input_control) circle.center.x → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)
Column coordinate of the center of the circle or
circular arc.
CircleRadiuscircleRadiuscircle_radius (input_control) circle.radius → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Union[float, int]Htuple (double / Hlong)
Radius of the circle or circular arc.
CircleStartPhicircleStartPhicircle_start_phi (input_control) angle.rad → (real)HTuple (double)HTuple (double)floatHtuple (double)
Angle of the start point of the circle or
circular arc [rad].
Default: 0.00.0
CircleEndPhicircleEndPhicircle_end_phi (input_control) angle.rad → (real)HTuple (double)HTuple (double)floatHtuple (double)
Angle of the end point of the circle or
circular arc [rad].
Default: 6.283186.28318
CirclePointOrdercirclePointOrdercircle_point_order (input_control) string → (string)HTuple (HString)HTuple (string)strHtuple (char*)
Point order along the circle or circular arc.
Default: 'positive'"positive"
List of values: 'negative', 'positive'"negative", "positive"
Rowrowrow (output_control) point.y(-array) → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)
Row coordinates of the intersection points.
Columncolumncolumn (output_control) point.x(-array) → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)
Column coordinates of the intersection points.
Result
If the parameters are valid, the operator
intersection_circle_contour_xldIntersectionCircleContourXld returns the value 2 (H_MSG_TRUE).
Combinations with other operators
Combinations
Alternatives
intersection_segment_circleIntersectionSegmentCircle
See also
intersection_line_circleIntersectionLineCircle
Module
Foundation