Class

CGAL::Line_arc_2<CircularKernel>

#include <CGAL/Line_arc_2.h>

Is Model for the Concepts

CircularKernel::LineArc_2

Creation

Line_arc_2<CircularKernel> la ( Line_2<CircularKernel> l,
Circular_arc_point_2<CircularKernel> p1,
Circular_arc_point_2<CircularKernel> p2);
Construct the line segment supported by l, whose source is p1 and whose target is p2.
Precondition: p1 and p2 lie on l.


Line_arc_2<CircularKernel> la ( Line_2<CircularKernel> l, Point_2<CircularKernel> p1, Point_2<CircularKernel> p2);
Same.


Line_arc_2<CircularKernel> la ( Segment_2<CircularKernel> s);

Access Functions

Line_2<CircularKernel> la.supporting_line ()

Circular_arc_point_2<CircularKernel>
la.source ()
Circular_arc_point_2<CircularKernel>
la.target ()

Circular_arc_point_2<CircularKernel>
la.left ()
Circular_arc_point_2<CircularKernel>
la.right ()

Bbox_2 la.bbox () const Returns a bounding box containing the line segment.

Query Functions

bool la.is_vertical ()

Operations

bool la1 == la2 Test for equality. Two arcs are equal, iff their non-oriented supporting lines are equal (i.e. they contain the same set of points) and their endpoints are equal.

bool la1 != la2 Test for non-equality.

I/O

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

The format for input/output is, for each line arc: a Line_2 (the supporting line) and two Circular_arc_point_2 (the two endpoints), under the condition that the endpoints are actually lying on the line.

See Also

CGAL::Circular_arc_point_2<CircularKernel>
CGAL::Circular_arc_2<CircularKernel>