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