CGAL 6.1 - 2D and 3D Linear Geometry Kernel

Loading...
Searching...
No Matches
List of all members | Related Functions
CGAL::Bbox_2 Class Reference
Reference Manual » 2D Kernel Objects

`#include <CGAL/Bbox_2.h>`

## Definition

An object `b` of the class `Bbox_2` is a bounding box in the two-dimensional Euclidean plane \( \E^2\).

This class is not templated.

Is model of
  `Hashable`

See also
  `CGAL::Bbox_3`

Examples
  Kernel_23/MyConstruct_bbox_2.h.

## Related Functions
(Note that these are not member functions.)
template<class InputIterator >
Bbox_2 | bbox_2 (InputIterator begin, InputIterator past_end)
| returns the bounding box of the objects in the range `[first,past_end[`.
template<class InputIterator , class Traits >
Bbox_2 | bbox_2 (InputIterator begin, InputIterator past_end, const Traits &traits)
| returns the bounding box of the objects in the range `[first,past_end[`.

## Creation
| Bbox_2 ()
| constructs an empty bounding box with lower left corner point at \( (\infty, \infty) \) and with upper right corner point at \( (-\infty, -\infty) \), \( \infty \) being `std::numeric_limits<double>::infinity()`.
| Bbox_2 (double x_min, double y_min, double x_max, double y_max)
| constructs a bounding box `b` with lower left corner at `(xmin, ymin)` and with upper right corner at `(xmax, ymax)`.

## Operations
bool | operator== (const Bbox_2 &c) const
| Test for equality.
bool | operator!= (const Bbox_2 &q) const
| Test for inequality.
int | dimension () const
| Returns 2.
double | xmin () const
double | ymin () const
double | xmax () const
double | ymax () const
double | min (int i) const
| Returns `xmin()` if `i==0` or `ymin()` if `i==1`.
double | max (int i) const
| Returns `xmax()` if `i==0` or `ymax()` if `i==1`.
Bbox_2 | operator+ (const Bbox_2 &c) const
| returns a bounding box of `b` and `c`.
Bbox_2 & | operator+= (const Bbox_2 &c)
| updates `b` to be the bounding box of `b` and `c` and returns itself.
void | dilate (int dist)
| dilates the bounding box by a specified number of ULP.
void | scale (double factor)
| scales the bounding box by `factor`, while keeping its center fixed.
bool | do_overlap (const Bbox_2 &bb1, const Bbox_2 &bb2)
| returns `true` iff `bb1` and `bb2` overlap, i.e., iff their intersection is non-empty.

## Member Function Documentation

## ◆ max()

double CGAL::Bbox_2::max | ( | int | i | ) | const

Returns `xmax()` if `i==0` or `ymax()` if `i==1`.

Precondition
  `i==0` or `i==1`

## ◆ min()

double CGAL::Bbox_2::min | ( | int | i | ) | const

Returns `xmin()` if `i==0` or `ymin()` if `i==1`.

Precondition
  `i==0` or `i==1`

## ◆ scale()

void CGAL::Bbox_2::scale | ( | double | factor | ) |

scales the bounding box by `factor`, while keeping its center fixed.

Precondition
  `factor > 0`

## Friends And Related Function Documentation

## ◆ bbox_2() [1/2]

template<class InputIterator >

Bbox_2 bbox_2 | ( | InputIterator | begin,
|  | InputIterator | past_end
| ) |  |
| related

returns the bounding box of the objects in the range `[first,past_end[`.

Each object in the range must have a member function `BBox_2 bbox()` returning its bounding box.

## ◆ bbox_2() [2/2]

template<class InputIterator , class Traits >

Bbox_2 bbox_2 | ( | InputIterator | begin,
|  | InputIterator | past_end,
|  | const Traits & | traits
| ) |  |
| related

returns the bounding box of the objects in the range `[first,past_end[`.

`Traits` must provide a functor `Traits::Construct_bbox_2` having an operator returning the bounding box of each object in the range. `Traits` must also have a member function `Traits::Construct_bbox_2 construct_bbox_2_object() const`.