intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXld (Operator)
Name
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXld — 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)
Description
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXld calculates the intersection points
of a circle or circular arc and the XLD ContourContourContourContourcontour.
The circle is defined by its center
(CircleRowCircleRowCircleRowCircleRowcircleRow,CircleColumnCircleColumnCircleColumnCircleColumncircleColumn) and its radius
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadius. In addition to that, a circular arc is characterized
by the angle of the start point CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhi, the angle of the
end point CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhi, and the point order
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder along the boundary.
If CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder is set to 'positive'"positive""positive""positive""positive", the circular arc
is defined counterclockwise.
If CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder 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 → objectHXLDContHXLDContHobject
XLD contour.
CircleRowCircleRowCircleRowCircleRowcircleRow (input_control) circle.center.y → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate of the center of the circle or
circular arc.
CircleColumnCircleColumnCircleColumnCircleColumncircleColumn (input_control) circle.center.x → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column coordinate of the center of the circle or
circular arc.
CircleRadiusCircleRadiusCircleRadiusCircleRadiuscircleRadius (input_control) circle.radius → HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius of the circle or circular arc.
CircleStartPhiCircleStartPhiCircleStartPhiCircleStartPhicircleStartPhi (input_control) angle.rad → HTupleHTupleHtuple (real) (double) (double) (double)
Angle of the start point of the circle or
circular arc [rad].
Default value: 0.0
CircleEndPhiCircleEndPhiCircleEndPhiCircleEndPhicircleEndPhi (input_control) angle.rad → HTupleHTupleHtuple (real) (double) (double) (double)
Angle of the end point of the circle or
circular arc [rad].
Default value: 6.28318
CirclePointOrderCirclePointOrderCirclePointOrderCirclePointOrdercirclePointOrder (input_control) string → HTupleHTupleHtuple (string) (string) (HString) (char*)
Point order along the circle or circular arc.
Default value:
'positive'
"positive"
"positive"
"positive"
"positive"
List of values: 'negative'"negative""negative""negative""negative", 'positive'"positive""positive""positive""positive"
RowRowRowRowrow (output_control) point.y(-array) → HTupleHTupleHtuple (real) (double) (double) (double)
Row coordinates of the intersection points.
ColumnColumnColumnColumncolumn (output_control) point.x(-array) → HTupleHTupleHtuple (real) (double) (double) (double)
Column coordinates of the intersection points.
Result
If the parameters are valid, the operator
intersection_circle_contour_xldintersection_circle_contour_xldIntersectionCircleContourXldIntersectionCircleContourXldIntersectionCircleContourXld returns the value 2 (H_MSG_TRUE).
Alternatives
intersection_segment_circleintersection_segment_circleIntersectionSegmentCircleIntersectionSegmentCircleIntersectionSegmentCircle
See also
intersection_line_circleintersection_line_circleIntersectionLineCircleIntersectionLineCircleIntersectionLineCircle
Module
Foundation