#include <CGAL/Circular_arc_2.h>
Circular_arc_2<CircularKernel> ca ( Circle_2<CircularKernel> c);  
Constructs an arc from a full circle.
 
 
Constructs the circular arc supported by c, whose source is
p and whose target is q when traversing the circle in
counterclockwise direction.
 
Circular_arc_2<CircularKernel> ca ( Point_2<CircularKernel> p, Point_2<CircularKernel> q, Point_2<CircularKernel> r);  
Constructs an arc that is supported by the circle of type
Circle_2<CircularKernel> 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.
Note that, depending on the orientation of the point triple
(p,q,r), q may not lie on the arc.

Circle_2<CircularKernel>  ca.supporting_circle ()  
Point_2<CircularKernel> const&  ca.center () const  returns the center of the supporting circle. 
CircularKernel::FT const&  ca.squared_radius () const  returns the squared radius of the supporting circle. 
A circular arc is not oriented. Still, its source and target endpoints can be defined, supposing that its supporting circle in traversed the counterclockwise direction from source to target.
Circular_arc_point_2<CircularKernel>  
ca.source ()  
Circular_arc_point_2<CircularKernel>  
ca.target () 
When the methods source and target return the same point, then the arc is in fact a full circle.
When an arc is xmonotone, its left and right points can be accessed directly:
Circular_arc_point_2<CircularKernel>  
ca.left () 
 
Circular_arc_point_2<CircularKernel>  
ca.right () 
 
Bbox_2  ca.bbox () const  Returns a bounding box containing the arc. 
bool  ca.is_x_monotone ()  Tests whether the arc is xmonotone. 
bool  ca.is_y_monotone ()  Tests whether the arc is ymonotone. 
istream&  std::istream& is >> Circular_arc_2 & ca  
ostream&  std::ostream& os << Circular_arc_2 ca 
CGAL::Circular_arc_point_2<CircularKernel>
CGAL::Line_arc_2<CircularKernel>