CGAL::Circular_arc_2<CircularKernel>

#include <CGAL/Circular_arc_2.h>

Is Model for the Concepts

CircularKernel::CircularArc_2

Creation

Circular_arc_2<CircularKernel> ca ( CircularKernel::Circle_2 c);
Constructs an arc from a full circle.


Circular_arc_2<CircularKernel> ca ( CircularKernel::Circle_2 c,
CircularKernel::Circular_arc_point_2 p1,
CircularKernel::Circular_arc_point_2 p2);
Constructs the circular arc supported by c, that is oriented counterclockwise, whose source is p1 and whose target is p2.
Precondition: p1 and p2 lie on c.

Access Functions

CircularKernel::Circle_2 ca.supporting_circle ()

A circular arc is supposed to be oriented counterclockwise, from source to target.

CircularKernel::Circular_arc_point_2
ca.source ()
CircularKernel::Circular_arc_point_2
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 x-monotone, its left and right points can be accessed directly:

CircularKernel::Circular_arc_point_2
ca.left ()
Precondition: ca.is_x_monotone().
CircularKernel::Circular_arc_point_2
ca.right ()
Precondition: ca.is_x_monotone().

Query Functions

bool ca.is_x_monotone () Tests whether the arc is x-monotone.
bool ca.is_y_monotone () Tests whether the arc is y-monotone.

I/O

istream& std::istream& is >> Circular_arc_2 & ca
ostream& std::ostream& os << Circular_arc_2 ca

See Also

CGAL::Circular_arc_point_2<CircularKernel>
CGAL::Line_arc_2<CircularKernel>