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

#include <Concepts/CircularKernel--ConstructCircularArc_2.h>

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.