Loading web-font TeX/Main/Regular
 
CGAL 6.0.1 - Bounding Volumes
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Loading...
Searching...
No Matches
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.
 
void set (const Point &p, const Point &q, const Point &r)
 sets ellipse to the smallest ellipse through p,q,r.
 
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.
 
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.
 

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.
 
bool has_on_bounded_side (const Point &p) const
 returns true, iff p lies properly inside ellipse.
 
bool has_on_boundary (const Point &p) const
 returns true, iff p lies on the boundary of ellipse.
 
bool is_empty () const
 returns true, iff ellipse is empty (this implies degeneracy).
 
bool is_degenerate () const
 returns true, iff ellipse is degenerate, i.e. if ellipse is empty or equal to a single point.
 

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.
 

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.