#include <CGAL/Circular_arc_3.h>
SphericalKernel::CircularArc_3
 
Constructs an arc from a full circle.
 
 
Constructs the circular arc supported by c, whose source and target
are respectively p and q.

The circular arc constructed from a circle, a source, and a target, is defined as the set of points of the circle that lie between the source p1 and the target p2, when traversing the circle counterclockwise seen from the side of the plane of the circle pointed by its positive normal vectors.
In this definition, we say that a normal vector (a,b,c) is positive if (a,b,c)>(0,0,0) (i.e. $$(a>0)  (a==0) && (b>0)  (a==0)&&(b==0)&&(c>0)).
 
Constructs an arc that is supported by the circle of type
Circle_3<SphericalKernel> passing through the points p,
q and r. The source and target are respectively p
and r, when traversing the supporting circle in the
counterclockwise direction
seen from the side of the plane containing the circle pointed by its positive
normal vectors.
Note that, depending on the orientation of the point triple
(p,q,r), q may not lie on the arc.





 returns the center of the supporting circle. 

 returns the squared radius of the supporting circle. 






 


 

When the methods source and target return the same point, then the arc is in fact a full circle.
When the arc was constructed from its (full) underlying circle, then source and target both return the smallest $$xextremal point of the circle if the circle is not contained in a plane $$x=A, and the smallest $$yextremal point otherwise.

 


The format for input/output is, for each circular arc: a Circle_3 (the supporting circle) and two Circular_arc_point_3 (the source and the target), under the condition that the endpoints are actually lying on the circle.
CGAL::Circular_arc_point_3<SphericalKernel>
CGAL::Line_arc_3<SphericalKernel>