CGAL 6.0.1 - 2D Circular Geometry Kernel
Loading...
Searching...
No Matches
CircularKernel::ConstructCircularArc_2 Concept Reference

Definition

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

Member Function Documentation

◆ operator()() [1/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()() [2/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()() [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.