\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - 2D Circular Geometry Kernel

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members | Related Functions
CGAL::Line_arc_2< CircularKernel > Class Template Reference
Geometric Kernel and Classes

`#include <CGAL/Line_arc_2.h>`

## Definition

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.
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.
| Line_arc_2 (const Segment_2< CircularKernel > &s)

## Access Functions
Line_2< CircularKernel > | supporting_line ()
Circular_arc_point_2 < CircularKernel > | source ()
Circular_arc_point_2 < CircularKernel > | target ()
Circular_arc_point_2 < CircularKernel > | left ()
Circular_arc_point_2 < CircularKernel > | right ()
Bbox_2 | bbox () const
| Returns a bounding box containing the line segment.

## Query Functions
bool | is_vertical ()

## Constructor & Destructor Documentation

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

## Friends And Related Function Documentation

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.