\( \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 - 2D Arrangements
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Arr_circle_segment_traits_2< Kernel >::X_monotone_curve_2 Class Reference

#include <CGAL/Arr_circle_segment_traits_2.h>

Definition

The X_monotone_curve_2 class nested within the traits class can represent \( x\)-monotone and line segments (which are always weakly \( x\)-monotone).

The copy and default constructor as well as the assignment operator are provided. In addition, an operator<< for the curves is defined for standard output streams.

Creation

 X_monotone_curve_2 (const typename Kernel::Point_2 &source, const typename Kernel::Point_2 &target)
 constructs an curve corresponding to the line segment directed from source to target, both having rational coordinates.
 
 X_monotone_curve_2 (const typename Kernel::Line_2 &line, const Point_2 &source, const Point_2 &target)
 constructs an curve corresponding to the line segment supported by the given line, directed from source to target. More...
 
 X_monotone_curve_2 (const typename Kernel::Circle_2 &circ, const Point_2 &source, const Point_2 &target, Orientation orient)
 constructs a circular arc supported by circ, which has a center point with rational coordinates and whose squared radius is rational, with the given endpoints. More...
 

Access Functions

const Point_2source () const
 returns the source point of xcv.
 
const Point_2target () const
 returns the target point of xcv.
 
bool is_directed_right () const
 returns true if xcv is directed right, false otherwise.
 
const Point_2left () const
 returns the left (lexicographically smaller) endpoint of xcv.
 
const Point_2right () const
 returns the right (lexicographically larger) endpoint of xcv.
 
Orientation orientation () const
 returns the orientation of the curve (COLLINEAR in case of line segments).
 
bool is_linear () const
 determines whether xcv is a line segment.
 
bool is_circular () const
 determines whether xcv is a circular arc.
 
Kernel::Line_2 supporting_line () const
 returns the supporting line of xcv. More...
 
Kernel::Circle_2 supporting_circle () const
 returns the supporting circle of xcv. More...
 
Bbox_2 bbox () const
 returns a bounding box of the arc xcv.
 

Constructor & Destructor Documentation

template<typename Kernel >
CGAL::Arr_circle_segment_traits_2< Kernel >::X_monotone_curve_2::X_monotone_curve_2 ( const typename Kernel::Line_2 line,
const Point_2 source,
const Point_2 target 
)

constructs an curve corresponding to the line segment supported by the given line, directed from source to target.

Note that the two endpoints may have one-root coordinates.

Precondition
Both endpoints must lie on the given supporting line.
template<typename Kernel >
CGAL::Arr_circle_segment_traits_2< Kernel >::X_monotone_curve_2::X_monotone_curve_2 ( const typename Kernel::Circle_2 circ,
const Point_2 source,
const Point_2 target,
Orientation  orient 
)

constructs a circular arc supported by circ, which has a center point with rational coordinates and whose squared radius is rational, with the given endpoints.

The orientation of the arc is determined by orient.

Precondition
Both endpoints must lie on the given supporting circle.
The circular arc is \( x\)-monotone.

Member Function Documentation

template<typename Kernel >
Kernel::Circle_2 CGAL::Arr_circle_segment_traits_2< Kernel >::X_monotone_curve_2::supporting_circle ( ) const

returns the supporting circle of xcv.

Precondition
xcv is a circular arc.
template<typename Kernel >
Kernel::Line_2 CGAL::Arr_circle_segment_traits_2< Kernel >::X_monotone_curve_2::supporting_line ( ) const

returns the supporting line of xcv.

Precondition
xcv is a line segment.