ClassesClassesClassesClasses | | | | Operators

intersection_circlesintersection_circlesIntersectionCirclesintersection_circlesIntersectionCirclesIntersectionCircles (Operator)

Name

intersection_circlesintersection_circlesIntersectionCirclesintersection_circlesIntersectionCirclesIntersectionCircles — Calculate the intersection points of two circles or circular arcs

Signature

intersection_circles( : : Circle1Row, Circle1Column, Circle1Radius, Circle1StartPhi, Circle1EndPhi, Circle1PointOrder, Circle2Row, Circle2Column, Circle2Radius, Circle2StartPhi, Circle2EndPhi, Circle2PointOrder : Row, Column, IsOverlapping)

Herror intersection_circles(double Circle1Row, double Circle1Column, double Circle1Radius, double Circle1StartPhi, double Circle1EndPhi, const char* Circle1PointOrder, double Circle2Row, double Circle2Column, double Circle2Radius, double Circle2StartPhi, double Circle2EndPhi, const char* Circle2PointOrder, double* Row, double* Column, Hlong* IsOverlapping)

Herror T_intersection_circles(const Htuple Circle1Row, const Htuple Circle1Column, const Htuple Circle1Radius, const Htuple Circle1StartPhi, const Htuple Circle1EndPhi, const Htuple Circle1PointOrder, const Htuple Circle2Row, const Htuple Circle2Column, const Htuple Circle2Radius, const Htuple Circle2StartPhi, const Htuple Circle2EndPhi, const Htuple Circle2PointOrder, Htuple* Row, Htuple* Column, Htuple* IsOverlapping)

Herror intersection_circles(const HTuple& Circle1Row, const HTuple& Circle1Column, const HTuple& Circle1Radius, const HTuple& Circle1StartPhi, const HTuple& Circle1EndPhi, const HTuple& Circle1PointOrder, const HTuple& Circle2Row, const HTuple& Circle2Column, const HTuple& Circle2Radius, const HTuple& Circle2StartPhi, const HTuple& Circle2EndPhi, const HTuple& Circle2PointOrder, double* Row, double* Column, Hlong* IsOverlapping)

Herror intersection_circles(const HTuple& Circle1Row, const HTuple& Circle1Column, const HTuple& Circle1Radius, const HTuple& Circle1StartPhi, const HTuple& Circle1EndPhi, const HTuple& Circle1PointOrder, const HTuple& Circle2Row, const HTuple& Circle2Column, const HTuple& Circle2Radius, const HTuple& Circle2StartPhi, const HTuple& Circle2EndPhi, const HTuple& Circle2PointOrder, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

void IntersectionCircles(const HTuple& Circle1Row, const HTuple& Circle1Column, const HTuple& Circle1Radius, const HTuple& Circle1StartPhi, const HTuple& Circle1EndPhi, const HTuple& Circle1PointOrder, const HTuple& Circle2Row, const HTuple& Circle2Column, const HTuple& Circle2Radius, const HTuple& Circle2StartPhi, const HTuple& Circle2EndPhi, const HTuple& Circle2PointOrder, HTuple* Row, HTuple* Column, HTuple* IsOverlapping)

void HOperatorSetX.IntersectionCircles(
[in] VARIANT Circle1Row, [in] VARIANT Circle1Column, [in] VARIANT Circle1Radius, [in] VARIANT Circle1StartPhi, [in] VARIANT Circle1EndPhi, [in] VARIANT Circle1PointOrder, [in] VARIANT Circle2Row, [in] VARIANT Circle2Column, [in] VARIANT Circle2Radius, [in] VARIANT Circle2StartPhi, [in] VARIANT Circle2EndPhi, [in] VARIANT Circle2PointOrder, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* IsOverlapping)

static void HOperatorSet.IntersectionCircles(HTuple circle1Row, HTuple circle1Column, HTuple circle1Radius, HTuple circle1StartPhi, HTuple circle1EndPhi, HTuple circle1PointOrder, HTuple circle2Row, HTuple circle2Column, HTuple circle2Radius, HTuple circle2StartPhi, HTuple circle2EndPhi, HTuple circle2PointOrder, out HTuple row, out HTuple column, out HTuple isOverlapping)

Description

intersection_circlesintersection_circlesIntersectionCirclesintersection_circlesIntersectionCirclesIntersectionCircles calculates the intersection points of two circles or circular arcs. The points, if any, are returned in (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn). The circles are defined by their center (Circle1RowCircle1RowCircle1RowCircle1RowCircle1Rowcircle1Row,Circle1ColumnCircle1ColumnCircle1ColumnCircle1ColumnCircle1Columncircle1Column), and (Circle2RowCircle2RowCircle2RowCircle2RowCircle2Rowcircle2Row,Circle2ColumnCircle2ColumnCircle2ColumnCircle2ColumnCircle2Columncircle2Column) respectively, and their radii Circle1RadiusCircle1RadiusCircle1RadiusCircle1RadiusCircle1Radiuscircle1Radius, and Circle2RadiusCircle2RadiusCircle2RadiusCircle2RadiusCircle2Radiuscircle2Radius respectively. In addition to that, a circular arc is characterized by the angle of the start point (Circle1StartPhiCircle1StartPhiCircle1StartPhiCircle1StartPhiCircle1StartPhicircle1StartPhi,Circle2StartPhiCircle2StartPhiCircle2StartPhiCircle2StartPhiCircle2StartPhicircle2StartPhi), the angle of the end point (Circle1EndPhiCircle1EndPhiCircle1EndPhiCircle1EndPhiCircle1EndPhicircle1EndPhi,Circle2EndPhiCircle2EndPhiCircle2EndPhiCircle2EndPhiCircle2EndPhicircle2EndPhi), and the point order (Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrder,Circle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrdercircle2PointOrder) along the boundary. If Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrder is set to 'positive'"positive""positive""positive""positive""positive", the circular arc is defined counterclockwise. If Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrder is set to 'negative'"negative""negative""negative""negative""negative", the circular arc is defined clockwise. The same applies for Circle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrdercircle2PointOrder. If both circles or circular arcs have a part in common IsOverlappingIsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping returns the value 1, otherwise 0 is returned. In this case the endpoints of the mutual arc are returned in (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn).

Parallelization

Parameters

Circle1RowCircle1RowCircle1RowCircle1RowCircle1Rowcircle1Row (input_control)  circle.center.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the center of the first circle or circular arc.

Circle1ColumnCircle1ColumnCircle1ColumnCircle1ColumnCircle1Columncircle1Column (input_control)  circle.center.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the center of the first circle or circular arc.

Circle1RadiusCircle1RadiusCircle1RadiusCircle1RadiusCircle1Radiuscircle1Radius (input_control)  circle.radius HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Radius of the first circle or circular arc.

Circle1StartPhiCircle1StartPhiCircle1StartPhiCircle1StartPhiCircle1StartPhicircle1StartPhi (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Angle of the start point of the first circle or circular arc [rad].

Default value: 0.0

Circle1EndPhiCircle1EndPhiCircle1EndPhiCircle1EndPhiCircle1EndPhicircle1EndPhi (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Angle of the end point of the first circle or circular arc [rad].

Default value: 6.28318

Circle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrderCircle1PointOrdercircle1PointOrder (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Point order along the first circle or circular arc.

Default value: 'positive' "positive" "positive" "positive" "positive" "positive"

List of values: 'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive"

Circle2RowCircle2RowCircle2RowCircle2RowCircle2Rowcircle2Row (input_control)  circle.center.y HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Row coordinate of the center of the second circle or circular arc.

Circle2ColumnCircle2ColumnCircle2ColumnCircle2ColumnCircle2Columncircle2Column (input_control)  circle.center.x HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Column coordinate of the center of the second circle or circular arc.

Circle2RadiusCircle2RadiusCircle2RadiusCircle2RadiusCircle2Radiuscircle2Radius (input_control)  circle.radius HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Radius of the second circle or circular arc.

Circle2StartPhiCircle2StartPhiCircle2StartPhiCircle2StartPhiCircle2StartPhicircle2StartPhi (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Angle of the start point of the second circle or circular arc [rad].

Default value: 0.0

Circle2EndPhiCircle2EndPhiCircle2EndPhiCircle2EndPhiCircle2EndPhicircle2EndPhi (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Angle of the end point of the second circle or circular arc [rad].

Default value: 6.28318

Circle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrderCircle2PointOrdercircle2PointOrder (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Point order along the second circle or circular arc.

Default value: 'positive' "positive" "positive" "positive" "positive" "positive"

List of values: 'negative'"negative""negative""negative""negative""negative", 'positive'"positive""positive""positive""positive""positive"

RowRowRowRowRowrow (output_control)  point.y(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Row coordinates of the intersection points.

ColumnColumnColumnColumnColumncolumn (output_control)  point.x(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Column coordinates of the intersection points.

IsOverlappingIsOverlappingIsOverlappingIsOverlappingIsOverlappingisOverlapping (output_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Do both circles or circular arcs have a part in common?

Result

If the parameters are valid, the operator intersection_circlesintersection_circlesIntersectionCirclesintersection_circlesIntersectionCirclesIntersectionCircles returns the value 2 (H_MSG_TRUE).

Module

Foundation


ClassesClassesClassesClasses | | | | Operators