\( \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.8 - Bounding Volumes

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
Circle Concept Reference
Concepts

## Definition

An object of the class `Circle` is a circle in two-dimensional Euclidean plane \( \E^2\). Its boundary splits the plane into a bounded and an unbounded side. By definition, an empty `Circle` has no boundary and no bounded side, i.e. its unbounded side equals the whole plane \( \E^2\). A `Circle` containing exactly one point \( p\) has no bounded side, its boundary is \( \{p\}\), and its unbounded side equals \( \E^2 \setminus \{p\}\).

## Types
typedef unspecified_type | Point
| Point type.
typedef unspecified_type | Distance
| Distance type. More...

## Creation
void | set ()
| sets `circle` to the empty circle.
void | set (const Point &p)
| sets `circle` to the circle containing exactly \( \{\mbox{`p` }\}\).
void | set (const Point &p, const Point &q)
| sets `circle` to the circle with diameter equal to the segment connecting `p` and `q`. More...
void | set (const Point &p, const Point &q, const Point &r)
| sets `circle` to the circle through `p`,`q`,`r`. More...

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

## Additional Operations for Checking
bool | operator== (const Circle &circle2) const
| returns `true`, iff `circle` and `circle2` are equal. More...
Point | center () const
| returns the center of `circle`. More...
Distance | squared_radius () const
| returns the squared radius of `circle`. More...

## I/O
std::ostream & | operator<< (std::ostream &os, const Circle &circle)
| writes `circle` to output stream `os`.

## Member Typedef Documentation

typedef unspecified_type Circle::Distance

Distance type.

The function `squared_radius()` (see below) returns an object of this type.

Note
  Only needed, if the member function `is_valid()` of `Min_circle_2` is used.

## Member Function Documentation

CGAL::Bounded_side Circle::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 `circle`, resp.

Note
  Only needed, if the corresponding predicate of `Min_circle_2` is used.

Point Circle::center | ( | ) |  | const

returns the center of `circle`.

Note
  Only needed, if the member function `is_valid()` of `Min_circle_2` is used.

bool Circle::has_on_boundary | ( | const Point & | p) |  | const

returns `true`, iff `p` lies on the boundary of `circle`.

Note
  Only needed, if the corresponding predicate of `Min_circle_2` is used.

bool Circle::has_on_bounded_side | ( | const Point & | p) |  | const

returns `true`, iff `p` lies properly inside `circle`.

Note
  Only needed, if the corresponding predicate of `Min_circle_2` is used.

bool Circle::is_degenerate | ( | ) |  | const

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

Note
  Only needed, if the corresponding predicate of `Min_circle_2` is used.

bool Circle::is_empty | ( | ) |  | const

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

Note
  Only needed, if the corresponding predicate of `Min_circle_2` is used.

bool Circle::operator== | ( | const Circle & | circle2) |  | const

returns `true`, iff `circle` and `circle2` are equal.

Note
  Only needed, if the member function `is_valid()` of `Min_circle_2` is used.

void Circle::set | ( | const Point & | p,
|  | const Point & | q
| ) |  |

sets `circle` to the circle with diameter equal to the segment connecting `p` and `q`.

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

void Circle::set | ( | const Point & | p,
|  | const Point & | q,
|  | const Point & | r
| ) |  |

sets `circle` to the circle through `p`,`q`,`r`.

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

Distance Circle::squared_radius | ( | ) |  | const

returns the squared radius of `circle`.

Note
  Only needed, if the member function `is_valid()` of `Min_circle_2` is used.