CGAL 5.4 - 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...

## ◆ 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.

## ◆ 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.