Operator Reference

intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldintersection_circle_contour_xld (Operator)

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)

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)

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