\( \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.13.2 - Bounding Volumes
Ellipse Concept Reference

Definition

An object ellipse of the class Ellipse is an ellipse in two-dimensional Euclidean plane \( \E^2\). Its boundary splits the plane into a bounded and an unbounded side. By definition, an empty ellipse has no boundary and no bounded side, i.e. its unbounded side equals the whole plane \( \E^2\).

Types

typedef unspecified_type Point
 Point type.
 

Creation

void set ()
 sets ellipse to the empty ellipse.
 
void set (const Point &p)
 sets ellipse to the ellipse containing exactly p.
 
void set (const Point &p, const Point &q)
 sets ellipse to the ellipse containing exactly the segment connecting p and q. More...
 
void set (const Point &p, const Point &q, const Point &r)
 sets ellipse to the smallest ellipse through p,q,r. More...
 
void set (const Point &p, const Point &q, const Point &r, const Point &s)
 sets ellipse to the smallest ellipse through p,q,r,s. More...
 
void set (const Point &p, const Point &q, const Point &r, const Point &s, const Point &t)
 sets ellipse to the unique conic through p,q,r,s,t. More...
 

Predicates

bool has_on_unbounded_side (const Point &p) const
 returns true, iff p lies properly outside of ellipse.
 
CGAL::Bounded_side bounded_side (const Point &p) const
 returns CGAL::ON_BOUNDED_SIDE, CGAL::ON_BOUNDARY, or CGAL::ON_UNBOUNDED_SIDE iff p lies properly inside, on the boundary, or properly outside of ellipse, resp. More...
 
bool has_on_bounded_side (const Point &p) const
 returns true, iff p lies properly inside ellipse. More...
 
bool has_on_boundary (const Point &p) const
 returns true, iff p lies on the boundary of ellipse. More...
 
bool is_empty () const
 returns true, iff ellipse is empty (this implies degeneracy). More...
 
bool is_degenerate () const
 returns true, iff ellipse is degenerate, i.e. if ellipse is empty or equal to a single point. More...
 

I/O

The following I/O operator is only needed, if the corresponding I/O operator of CGAL::Min_ellipse_2 is used.

ostream & operator<< (ostream &os, const Ellipse &ellipse)
 writes ellipse to output stream os. More...
 

Member Function Documentation

◆ bounded_side()

CGAL::Bounded_side Ellipse::bounded_side ( const Point p) const

returns CGAL::ON_BOUNDED_SIDE, CGAL::ON_BOUNDARY, or CGAL::ON_UNBOUNDED_SIDE iff p lies properly inside, on the boundary, or properly outside of ellipse, resp.

Note
Only needed, if the corresponding predicate of CGAL::Min_ellipse_2 is used.

◆ has_on_boundary()

bool Ellipse::has_on_boundary ( const Point p) const

returns true, iff p lies on the boundary of ellipse.

Note
Only needed, if the corresponding predicate of CGAL::Min_ellipse_2 is used.

◆ has_on_bounded_side()

bool Ellipse::has_on_bounded_side ( const Point p) const

returns true, iff p lies properly inside ellipse.

Note
Only needed, if the corresponding predicate of CGAL::Min_ellipse_2 is used.

◆ is_degenerate()

bool Ellipse::is_degenerate ( ) const

returns true, iff ellipse is degenerate, i.e. if ellipse is empty or equal to a single point.

Note
Only needed, if the corresponding predicate of CGAL::Min_ellipse_2 is used.

◆ is_empty()

bool Ellipse::is_empty ( ) const

returns true, iff ellipse is empty (this implies degeneracy).

Note
Only needed, if the corresponding predicate of CGAL::Min_ellipse_2 is used.

◆ operator
ostream& Ellipse::operator<< ( ostream &  os,
const Ellipse ellipse 
)

writes ellipse to output stream os.

Note
Only needed, if the corresponding I/O operator of CGAL::Min_ellipse_2 is used.

◆ set() [1/4]

void Ellipse::set ( const Point p,
const Point q 
)

sets ellipse to the ellipse containing exactly the segment connecting p and q.

The algorithm guarantees that set is never called with two equal points.

◆ set() [2/4]

void Ellipse::set ( const Point p,
const Point q,
const Point r 
)

sets ellipse to the smallest ellipse through p,q,r.

The algorithm guarantees that set is never called with three collinear points.

◆ set() [3/4]

void Ellipse::set ( const Point p,
const Point q,
const Point r,
const Point s 
)

sets ellipse to the smallest ellipse through p,q,r,s.

The algorithm guarantees that this ellipse exists.

◆ set() [4/4]

void Ellipse::set ( const Point p,
const Point q,
const Point r,
const Point s,
const Point t 
)

sets ellipse to the unique conic through p,q,r,s,t.

The algorithm guarantees that this conic is an ellipse.