CGAL 6.1.1 - 2D and 3D Linear Geometry Kernel

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

`#include <CGAL/Bbox_3.h>`

## Definition

An object `b` of the class `Bbox_3` is a bounding box in the three-dimensional Euclidean space \( \E^3\).

Is model of
  `Hashable`

See also
  `CGAL::Bbox_2`

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

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

## Operations
bool | operator== (const Bbox_3 &c) const
| Test for equality.
bool | operator!= (const Bbox_3 &q) const
| Test for inequality.
int | dimension () const
| Returns 3.
double | xmin () const
double | ymin () const
double | zmin () const
double | xmax () const
double | ymax () const
double | zmax () const
double | min (int i) const
| Returns `xmin()` if `i==0` or `ymin()` if `i==1` or `zmin()` if `i==2`.
double | max (int i) const
| Returns `xmax()` if `i==0` or `ymax()` if `i==1` or `zmax()` if `i==2`.
Bbox_3 | operator+ (const Bbox_3 &c) const
| returns a bounding box of `b` and `c`.
Bbox_3 & | operator+= (const Bbox_3 &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_3 &bb1, const Bbox_3 &bb2)
| returns `true` iff `bb1` and `bb2` overlap, i.e., iff their intersection is non-empty.

## Member Function Documentation

## ◆ max()

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

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

Precondition
  `i>=0` and `i<=2`

## ◆ min()

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

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

Precondition
  `i>=0` and `i<=2`

## ◆ scale()

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

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

Precondition
  `factor > 0`

## Friends And Related Function Documentation

## ◆ bbox_3() [1/2]

template<class InputIterator >

Bbox_3 bbox_3 | ( | 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_3 bbox()` returning its bounding box.

## ◆ bbox_3() [2/2]

template<class InputIterator , class Traits >

Bbox_3 bbox_3 | ( | 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_3` having an operator returning the bounding box of each object in the range. `Traits` must also have a member function `Traits::Construct_bbox_3 construct_bbox_3_object() const`.