CGAL 5.1 - 3D Spherical Geometry Kernel
CGAL::Line_arc_3< SphericalKernel > Class Template Reference

#include <CGAL/Line_arc_3.h>

Definition

template<typename SphericalKernel>
class CGAL::Line_arc_3< SphericalKernel >

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

Access Functions

Line_3< SphericalKernelsupporting_line ()
 
Circular_arc_point_3< SphericalKernelsource ()
 
Circular_arc_point_3< SphericalKerneltarget ()
 
Circular_arc_point_3< SphericalKernelmin ()
 Constructs the minimum vertex according to the lexicographic ordering of coordinates. More...
 
Circular_arc_point_3< SphericalKernelmax ()
 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

◆ Line_arc_3() [1/3]

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.

◆ Line_arc_3() [2/3]

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.

◆ Line_arc_3() [3/3]

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

Member Function Documentation

◆ is_vertical()

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

Returns true iff the segment is vertical.

◆ max()

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

Same for the maximum vertex.

◆ min()

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.

◆ operator!=()

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.

◆ operator<<()

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.

◆ operator==()

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.

◆ operator>>()

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.

◆ source()

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

◆ supporting_line()

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

◆ target()

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