CGAL 5.1 - 2D Circular Geometry Kernel
CGAL::Line_arc_2< CircularKernel > Class Template Reference

#include <CGAL/Line_arc_2.h>

Definition

template<typename CircularKernel>
class CGAL::Line_arc_2< CircularKernel >

Is Model Of:
CircularKernel::LineArc_2

I/O

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>

Related Functions

(Note that these are not member functions.)

bool operator== (const Line_arc_2< CircularKernel > &la1, const Line_arc_2< CircularKernel > &la2)
 Test for equality. More...
 
bool operator!= (const Line_arc_2< CircularKernel > &la1, const Line_arc_2< CircularKernel > &la2)
 Test for non-equality. More...
 
istream & operator>> (std::istream &is, Line_arc_2 &ca)
 
ostream & operator<< (std::ostream &os, const Line_arc_2 &ca)
 

Creation

 Line_arc_2 (const Line_2< CircularKernel > &l, const Circular_arc_point_2< CircularKernel > &p1, const Circular_arc_point_2< CircularKernel > &p2)
 Construct the line segment supported by l, whose source is p1 and whose target is p2. More...
 
 Line_arc_2 (const Line_2< CircularKernel > &l, const Point_2< CircularKernel > &p1, const Point_2< CircularKernel > &p2)
 Same. More...
 
 Line_arc_2 (const Segment_2< CircularKernel > &s)
 

Access Functions

Line_2< CircularKernelsupporting_line ()
 
Circular_arc_point_2< CircularKernelsource ()
 
Circular_arc_point_2< CircularKerneltarget ()
 
Circular_arc_point_2< CircularKernelleft ()
 
Circular_arc_point_2< CircularKernelright ()
 
Bbox_2 bbox () const
 Returns a bounding box containing the line segment. More...
 

Query Functions

bool is_vertical ()
 

Constructor & Destructor Documentation

◆ Line_arc_2() [1/3]

template<typename CircularKernel >
CGAL::Line_arc_2< CircularKernel >::Line_arc_2 ( const Line_2< CircularKernel > &  l,
const Circular_arc_point_2< CircularKernel > &  p1,
const 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() [2/3]

template<typename CircularKernel >
CGAL::Line_arc_2< CircularKernel >::Line_arc_2 ( const Line_2< CircularKernel > &  l,
const Point_2< CircularKernel > &  p1,
const Point_2< CircularKernel > &  p2 
)

Same.

◆ Line_arc_2() [3/3]

template<typename CircularKernel >
CGAL::Line_arc_2< CircularKernel >::Line_arc_2 ( const Segment_2< CircularKernel > &  s)

Member Function Documentation

◆ bbox()

template<typename CircularKernel >
Bbox_2 CGAL::Line_arc_2< CircularKernel >::bbox ( ) const

Returns a bounding box containing the line segment.

◆ is_vertical()

template<typename CircularKernel >
bool CGAL::Line_arc_2< CircularKernel >::is_vertical ( )

◆ left()

template<typename CircularKernel >
Circular_arc_point_2<CircularKernel> CGAL::Line_arc_2< CircularKernel >::left ( )

◆ right()

template<typename CircularKernel >
Circular_arc_point_2<CircularKernel> CGAL::Line_arc_2< CircularKernel >::right ( )

◆ source()

template<typename CircularKernel >
Circular_arc_point_2<CircularKernel> CGAL::Line_arc_2< CircularKernel >::source ( )

◆ supporting_line()

template<typename CircularKernel >
Line_2<CircularKernel> CGAL::Line_arc_2< CircularKernel >::supporting_line ( )

◆ target()

template<typename CircularKernel >
Circular_arc_point_2<CircularKernel> CGAL::Line_arc_2< CircularKernel >::target ( )

Friends And Related Function Documentation

◆ operator!=()

template<typename CircularKernel >
bool operator!= ( const Line_arc_2< CircularKernel > &  la1,
const Line_arc_2< CircularKernel > &  la2 
)
related

Test for non-equality.

◆ operator<<()

template<typename CircularKernel >
ostream & operator<< ( std::ostream &  os,
const Line_arc_2< CircularKernel > &  ca 
)
related

◆ operator==()

template<typename CircularKernel >
bool operator== ( const Line_arc_2< CircularKernel > &  la1,
const Line_arc_2< CircularKernel > &  la2 
)
related

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.

◆ operator>>()

template<typename CircularKernel >
istream & operator>> ( std::istream &  is,
Line_arc_2< CircularKernel > &  ca 
)
related