\( \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 5.0 - 2D and 3D Linear Geometry Kernel

#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[. More...
 
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[. More...
 
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.
 

Creation

 Bbox_3 ()
 introduces 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)
 introduces 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. More...
 
double max (int i) const
 Returns xmax() if i==0 or ymax() if i==1 or zmax() if i==2. More...
 
Bbox_3 operator+ (const Bbox_3 &c) const
 returns a bounding box of b and c.
 
Bbox_3operator+= (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.
 

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

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.