\( \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.7 - 3D Spherical Geometry Kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Line_arc_3< SphericalKernel > Class Template Reference

#include <CGAL/Line_arc_3.h>

Definition

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. More...
 
 Line_arc_3 (const Segment_3< SphericalKernel > &s)
 

Access Functions

Line_3< SphericalKernelsupporting_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. More...
 
Circular_arc_point_3
< SphericalKernel
max ()
 Same for the maximum vertex. More...
 

Query Functions

bool is_vertical ()
 Returns true iff the segment is vertical. More...
 
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. More...
 
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. More...
 
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. More...
 

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.
template<typename SphericalKernel >
CGAL::Line_arc_3< SphericalKernel >::Line_arc_3 ( const Line_3< SphericalKernel > &  l,
const Point_3< SphericalKernel > &  p1,
const Point_3< SphericalKernel > &  p2 
)

Same.

template<typename SphericalKernel >
CGAL::Line_arc_3< SphericalKernel >::Line_arc_3 ( const Segment_3< SphericalKernel > &  s)

Member Function Documentation

template<typename SphericalKernel >
bool CGAL::Line_arc_3< SphericalKernel >::is_vertical ( )

Returns true iff the segment is vertical.

template<typename SphericalKernel >
Circular_arc_point_3<SphericalKernel> CGAL::Line_arc_3< SphericalKernel >::max ( )

Same for the maximum vertex.

template<typename SphericalKernel >
Circular_arc_point_3<SphericalKernel> CGAL::Line_arc_3< SphericalKernel >::min ( )

Constructs the minimum vertex according to the lexicographic ordering of coordinates.

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

Test for nonequality.

template<typename SphericalKernel >
ostream& CGAL::Line_arc_3< SphericalKernel >::operator<< ( std::ostream &  os,
const Line_arc_3< SphericalKernel > &  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.

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.

template<typename SphericalKernel >
istream& CGAL::Line_arc_3< SphericalKernel >::operator>> ( std::istream &  is,
Line_arc_3< SphericalKernel > &  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.

template<typename SphericalKernel >
Circular_arc_point_3<SphericalKernel> CGAL::Line_arc_3< SphericalKernel >::source ( )
template<typename SphericalKernel >
Line_3<SphericalKernel> CGAL::Line_arc_3< SphericalKernel >::supporting_line ( )
template<typename SphericalKernel >
Circular_arc_point_3<SphericalKernel> CGAL::Line_arc_3< SphericalKernel >::target ( )