A class to calculate or store the bounding box of plain vectors (points).
#include <lemon/dim2.h>
Public Member Functions | |
Box () | |
Default constructor: creates an empty box. | |
Box (Point< T > a) | |
Construct a box from one point. | |
Box (Point< T > a, Point< T > b) | |
Construct a box from two points. More... | |
Box (T l, T b, T r, T t) | |
Construct a box from four numbers. More... | |
bool | empty () const |
Return true if the box is empty. More... | |
void | clear () |
Make the box empty. | |
Point< T > | bottomLeft () const |
Give back the bottom left corner of the box. More... | |
void | bottomLeft (Point< T > p) |
Set the bottom left corner of the box. More... | |
Point< T > | topRight () const |
Give back the top right corner of the box. More... | |
void | topRight (Point< T > p) |
Set the top right corner of the box. More... | |
Point< T > | bottomRight () const |
Give back the bottom right corner of the box. More... | |
void | bottomRight (Point< T > p) |
Set the bottom right corner of the box. More... | |
Point< T > | topLeft () const |
Give back the top left corner of the box. More... | |
void | topLeft (Point< T > p) |
Set the top left corner of the box. More... | |
T | bottom () const |
Give back the bottom of the box. More... | |
void | bottom (T t) |
Set the bottom of the box. More... | |
T | top () const |
Give back the top of the box. More... | |
void | top (T t) |
Set the top of the box. More... | |
T | left () const |
Give back the left side of the box. More... | |
void | left (T t) |
Set the left side of the box. More... | |
T | right () const |
Give back the right side of the box. More... | |
void | right (T t) |
Set the right side of the box. More... | |
T | height () const |
Give back the height of the box. More... | |
T | width () const |
Give back the width of the box. More... | |
bool | inside (const Point< T > &u) const |
Checks whether a point is inside the box. | |
Box & | add (const Point< T > &u) |
Increments the box with a point. More... | |
Box & | add (const Box &u) |
Increments the box to contain another box. More... | |
Box | operator& (const Box &u) const |
Intersection of two boxes. More... | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename T > | |
std::istream & | operator>> (std::istream &is, Box< T > &b) |
Read a box from a stream. More... | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Box< T > &b) |
Write a box to a stream. More... | |
Construct a box from two points.
a | The bottom left corner. |
b | The top right corner. |
|
inline |
Construct a box from four numbers.
l | The left side of the box. |
b | The bottom of the box. |
r | The right side of the box. |
t | The top of the box. |
|
inline |
Return true
if the box is empty (i.e. return false
if at least one point was added to the box or the coordinates of the box were set).
The coordinates of an empty box are not defined.
|
inline |
Give back the bottom left corner of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the bottom left corner of the box.
|
inline |
Give back the top right corner of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the top right corner of the box.
|
inline |
Give back the bottom right corner of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the bottom right corner of the box.
|
inline |
Give back the top left corner of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the top left corner of the box.
|
inline |
Give back the bottom of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the bottom of the box.
|
inline |
Give back the top of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the top of the box.
|
inline |
Give back the left side of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the left side of the box.
|
inline |
Give back the right side of the box. If the box is empty, then the return value is not defined.
|
inline |
Set the right side of the box.
|
inline |
Give back the height of the box. If the box is empty, then the return value is not defined.
|
inline |
Give back the width of the box. If the box is empty, then the return value is not defined.