CGAL 5.3 - 2D Circular Geometry Kernel
CircularKernel::ConstructCircularArc_2 Concept Reference

## Operations

A model of this concept must provide:

CircularKernel::Circular_arc_2 operator() (const CircularKernel::Circle_2 &c)
Constructs an arc from a full circle.

CircularKernel::Circular_arc_2 operator() (const CircularKernel::Circle_2 &c, const CircularKernel::Circular_arc_point_2 &p1, const CircularKernel::Circular_arc_point_2 &p2)
Construct the circular arc supported by c, whose source is p1 and whose target is p2 when traversing the circle in counterclockwise direction. More...

CircularKernel::Circular_arc_2 operator() (const CircularKernel::Circle_2 &c, const CircularKernel::Circle_2 &c1, bool b1, const CircularKernel::Circle_2 &c2, bool b2)
Constructs the unique circular arc whose supporting circle is c, and whose source is the intersection of c and c1 with index b1, and whose target is the intersection of c and c2 of index b2, where intersections are ordered lexicographically, and when traversing the circle in counterclockwise direction. More...

CircularKernel::Circular_arc_2 operator() (const CircularKernel::Circle_2 &c, const CircularKernel::Line_2 &l1, bool b1, const CircularKernel::Line_2 &l2, bool b2)
Same, for intersections defined by lines instead of circles.

CircularKernel::Circular_arc_2 operator() (const CircularKernel::Point_2 &p, const CircularKernel::Point_2 &q, const CircularKernel::Point_2 &r)
Constructs an arc that is supported by the circle of type CircularKernel::Circle_2 passing through the points p, q and r. More...

## ◆ operator()() [1/3]

 CircularKernel::Circular_arc_2 CircularKernel::ConstructCircularArc_2::operator() ( const CircularKernel::Circle_2 & c, const CircularKernel::Circular_arc_point_2 & p1, const CircularKernel::Circular_arc_point_2 & p2 )

Construct the circular arc supported by c, whose source is p1 and whose target is p2 when traversing the circle in counterclockwise direction.

Precondition
p1 and p2 lie on c.

## ◆ operator()() [2/3]

 CircularKernel::Circular_arc_2 CircularKernel::ConstructCircularArc_2::operator() ( const CircularKernel::Circle_2 & c, const CircularKernel::Circle_2 & c1, bool b1, const CircularKernel::Circle_2 & c2, bool b2 )

Constructs the unique circular arc whose supporting circle is c, and whose source is the intersection of c and c1 with index b1, and whose target is the intersection of c and c2 of index b2, where intersections are ordered lexicographically, and when traversing the circle in counterclockwise direction.

Precondition
c intersects both c1 and c2, and the arc defined by the intersections has non-zero length.

## ◆ operator()() [3/3]

 CircularKernel::Circular_arc_2 CircularKernel::ConstructCircularArc_2::operator() ( const CircularKernel::Point_2 & p, const CircularKernel::Point_2 & q, const CircularKernel::Point_2 & r )

Constructs an arc that is supported by the circle of type CircularKernel::Circle_2 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.

Precondition
p, q, and r are not collinear.