\( \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 - 3D Spherical Geometry Kernel

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

`#include <CGAL/Line_arc_3.h>`

## Definition

Is Model Of:
  `SphericalKernel::LineArc_3`

See Also
  `CGAL::Circular_arc_point_3<SphericalKernel>`
  `CGAL::Circular_arc_3<SphericalKernel>`

## Creation
| Line_arc_3 (const Line_3< SphericalKernel > &l, const Circular_arc_point_3< SphericalKernel > &p1, const Circular_arc_point_3< SphericalKernel > &p2)
| Construct the line segment supported by `l`, whose source is `p1`, and whose target is `p2`. More...
| Line_arc_3 (const Line_3< SphericalKernel > &l, const Point_3< SphericalKernel > &p1, const Point_3< SphericalKernel > &p2)
| Same.
| Line_arc_3 (const Segment_3< SphericalKernel > &s)

## Access Functions
Line_3< SphericalKernel > | supporting_line ()
Circular_arc_point_3 < SphericalKernel > | source ()
Circular_arc_point_3 < SphericalKernel > | target ()
Circular_arc_point_3 < SphericalKernel > | min ()
| Constructs the minimum vertex according to the lexicographic ordering of coordinates.
Circular_arc_point_3 < SphericalKernel > | max ()
| Same for the maximum vertex.

## Query Functions
bool | is_vertical ()
| Returns true `iff` the segment is vertical.
bool | operator== (const Line_arc_3< SphericalKernel > &s1, const Line_arc_3< SphericalKernel > &s2)
| Test for equality. More...
bool | operator!= (const Line_arc_3< SphericalKernel > &s1, const Line_arc_3< SphericalKernel > &s2)
| Test for nonequality.
istream & | operator>> (std::istream &is, Line_arc_3 &ca)
| The format for input/output is, for each line arc: a `Line_3` (the supporting line) and two `Circular_arc_point_3` (the two endpoints), under the condition that the endpoints are actually lying on the line.
ostream & | operator<< (std::ostream &os, const Line_arc_3 &ca)
| The format for input/output is, for each line arc: a `Line_3` (the supporting line) and two `Circular_arc_point_3` (the two endpoints), under the condition that the endpoints are actually lying on the line.

## Constructor & Destructor Documentation

template<typename SphericalKernel >

CGAL::Line_arc_3< SphericalKernel >::Line_arc_3 | ( | const Line_3< SphericalKernel > & | l,
|  | const Circular_arc_point_3< SphericalKernel > & | p1,
|  | const Circular_arc_point_3< SphericalKernel > & | p2
| ) |  |

Construct the line segment supported by `l`, whose source is `p1`, and whose target is `p2`.

Precondition
  `p1` and `p2` lie on `l`. `p1` and `p2` are different.

## Member Function Documentation

template<typename SphericalKernel >

bool CGAL::Line_arc_3< SphericalKernel >::operator== | ( | const Line_arc_3< SphericalKernel > & | s1,
|  | const Line_arc_3< SphericalKernel > & | s2
| ) |  |

Test for equality.

Two segments are equal, iff their non-oriented supporting lines are equal (i.e. they define the same set of points), and their endpoints are the same.