CGAL 4.7 - 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...

Member Function Documentation

 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.
 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.
 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.