Skip to content

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🔗

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