A rectangle represented by two points in a 2D space. More...
#include <box_2d.hpp>
Public Types | |
typedef T | value_type |
The type of the values we store. | |
typedef coordinate_2d< value_type > | point_type |
The type of the coordinates of the points representing the corners. | |
typedef box_2d< value_type > | self_type |
The type of the current class. | |
Public Member Functions | |
box_2d () | |
Constructor. | |
box_2d (const self_type &that) | |
Copy constructor. | |
box_2d (const rectangle< value_type > &that) | |
Constructor from a rectangle. | |
box_2d (const point_type &p1, const point_type &p2) | |
Constructor from two points. | |
box_2d (const value_type &x1, const value_type &y1, const value_type &x2, const value_type &y2) | |
Constructor with initialization. | |
void | set (const value_type &x1, const value_type &y1, const value_type &x2, const value_type &y2) |
Set the coordinates of the two points. | |
template<typename U > | |
box_2d< U > | cast_value_type_to () const |
Get a copy of the box by converting its members to a given type. | |
value_type | area () const |
Calculate the box's area. | |
bool | includes (const coordinate_2d< value_type > &p) const |
Tell if a point is in a box. | |
bool | includes (const self_type &r) const |
Tell if a box_2d is in a box_2d. | |
bool | intersects (const self_type &r) const |
Tell if there is an intersection of two boxes. | |
self_type | intersection (const self_type &r) const |
Intersection of two box_2ds. | |
value_type | top () const |
Get the y-coordinate of the top edge. | |
value_type | bottom () const |
Get the y-coordinate of the bottom edge. | |
value_type | left () const |
Get the x-coordinate of the left edge. | |
value_type | right () const |
Get the x-coordinate of the right edge. | |
point_type | top_left () const |
Get the coordinate of the top-left corner. | |
point_type | top_right () const |
Get the coordinate of the top-right corner. | |
point_type | bottom_left () const |
Get the coordinate of the bottom-left corner. | |
point_type | bottom_right () const |
Get the coordinate of the bottom-right corner. | |
void | top (const value_type &p) |
Move the top edge at a given position. | |
void | bottom (const value_type &p) |
Move the bottom edge at a given position. | |
void | left (const value_type &p) |
Move the left edge at a given position. | |
void | right (const value_type &p) |
Move the right edge at a given position. | |
void | top_left (const coordinate_2d< value_type > &p) |
Move the top-left corner at a given position. | |
void | top_right (const coordinate_2d< value_type > &p) |
Move the top-right corner at a given position. | |
void | bottom_left (const coordinate_2d< value_type > &p) |
Move the bottom-left corner at a given position. | |
void | bottom_right (const coordinate_2d< value_type > &p) |
Move the bottom-right corner at a given position. | |
void | shift_x (const value_type &d) |
Shift the position of the box on the x-axis. | |
void | shift_y (const value_type &d) |
Shift the position of the box on the y-axis. | |
value_type | width () const |
Return box' width. | |
value_type | height () const |
Return box' height. | |
coordinate_2d< value_type > | size () const |
Get the size of the box_2d. | |
bool | operator== (const self_type &vect) const |
Equality operator. | |
bool | operator!= (const self_type &vect) const |
Difference operator. | |
self_type | operator+ (const point_type &vect) const |
Translation. | |
self_type | operator- (const point_type &vect) const |
Translation. | |
self_type & | operator+= (const point_type &vect) |
Translation. | |
self_type & | operator-= (const point_type &vect) |
Translation. | |
Public Attributes | |
point_type | first_point |
The first of the two points, representing one corner. | |
point_type | second_point |
The second of the two points, representing an other corner. | |
Private Member Functions | |
void | x_intersection (const self_type &r, self_type &result) const |
X-intersection of two box_2ds. | |
void | y_intersection (const self_type &r, self_type &result) const |
Y-intersection of two box_2ds. |
A rectangle represented by two points in a 2D space.
Definition at line 46 of file box_2d.hpp.
typedef coordinate_2d<value_type> claw::math::box_2d< T >::point_type |
The type of the coordinates of the points representing the corners.
Definition at line 54 of file box_2d.hpp.
typedef box_2d<value_type> claw::math::box_2d< T >::self_type |
The type of the current class.
Definition at line 57 of file box_2d.hpp.
typedef T claw::math::box_2d< T >::value_type |
The type of the values we store.
Definition at line 50 of file box_2d.hpp.
claw::math::box_2d< T >::box_2d | ( | ) | [inline] |
Constructor.
Definition at line 38 of file box_2d.tpp.
claw::math::box_2d< T >::box_2d | ( | const self_type & | that | ) | [inline] |
Copy constructor.
that | Box to copy from. |
Definition at line 49 of file box_2d.tpp.
00050 : first_point(that.first_point), second_point(that.second_point) 00051 { 00052 00053 } // box_2d::box_2d() [copy constructor]
claw::math::box_2d< T >::box_2d | ( | const rectangle< value_type > & | that | ) | [inline] |
Constructor from a rectangle.
that | Rectangle to copy from. |
Definition at line 61 of file box_2d.tpp.
00062 : first_point(that.position), 00063 second_point(that.right(), that.bottom()) 00064 { 00065 00066 } // box_2d::box_2d() [constructor from rectangle]
claw::math::box_2d< T >::box_2d | ( | const point_type & | p1, | |
const point_type & | p2 | |||
) | [inline] |
Constructor from two points.
Definition at line 75 of file box_2d.tpp.
00076 : first_point(p1), second_point(p2) 00077 { 00078 00079 } // box_2d::box_2d() [constructor from coordinates]
claw::math::box_2d< T >::box_2d | ( | const value_type & | x1, | |
const value_type & | y1, | |||
const value_type & | x2, | |||
const value_type & | y2 | |||
) | [inline] |
Constructor with initialization.
x1 | X-coordinate of the first point. | |
y1 | Y-coordinate of the first point. | |
x2 | X-coordinate of the second point. | |
y2 | Y-coordinate of the second point. |
Definition at line 90 of file box_2d.tpp.
00092 : first_point(x1, y1), second_point(x2, y2) 00093 { 00094 00095 } // box_2d::box_2d() [constructor with values]
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::area | ( | ) | const [inline] |
Calculate the box's area.
Definition at line 148 of file box_2d.tpp.
References claw::math::box_2d< T >::height(), and claw::math::box_2d< T >::width().
void claw::math::box_2d< T >::bottom | ( | const value_type & | p | ) | [inline] |
Move the bottom edge at a given position.
p | The position. |
Definition at line 312 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), and claw::math::box_2d< T >::shift_y().
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::bottom | ( | ) | const [inline] |
Get the y-coordinate of the bottom edge.
Definition at line 226 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::y.
Referenced by claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::bottom_left(), claw::math::box_2d< T >::bottom_right(), claw::math::box_2d< T >::includes(), claw::math::box_2d< T >::intersects(), and claw::math::box_2d< T >::y_intersection().
00227 { 00228 return (first_point.y < second_point.y) ? first_point.y : second_point.y; 00229 } // box_2d::bottom()
void claw::math::box_2d< T >::bottom_left | ( | const coordinate_2d< value_type > & | p | ) | [inline] |
Move the bottom-left corner at a given position.
p | The position. |
Definition at line 372 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::left(), claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
claw::math::box_2d< T >::point_type claw::math::box_2d< T >::bottom_left | ( | ) | const [inline] |
Get the coordinate of the bottom-left corner.
Definition at line 279 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), and claw::math::box_2d< T >::left().
00280 { 00281 return point_type(left(), bottom()); 00282 } // box_2d::bottom_left()
void claw::math::box_2d< T >::bottom_right | ( | const coordinate_2d< value_type > & | p | ) | [inline] |
Move the bottom-right corner at a given position.
p | The position. |
Definition at line 385 of file box_2d.tpp.
References claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
claw::math::box_2d< T >::point_type claw::math::box_2d< T >::bottom_right | ( | ) | const [inline] |
Get the coordinate of the bottom-right corner.
Definition at line 290 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), and claw::math::box_2d< T >::right().
00291 { 00292 return point_type(right(), bottom()); 00293 } // box_2d::bottom_right()
claw::math::box_2d< U > claw::math::box_2d< T >::cast_value_type_to | ( | ) | const [inline] |
Get a copy of the box by converting its members to a given type.
Consider the following code:
box_2d<float> a;
...
box_2d<int> b(a);
The copy constructor will be called, and your compiler should print some warnings in your console. These warnings have a meaning, so we don't wan't to make them disapear by adding explicit type conversion inside the box_2d class nor adding a cast operator that will be used silently by the compiler.
If you really want to convert the type, this method will explicitly cast the member variables.
Definition at line 136 of file box_2d.tpp.
References claw::math::coordinate_2d< T >::cast_value_type_to(), claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
00137 { 00138 return claw::math::box_2d<U> 00139 ( first_point.cast_value_type_to<U>(), 00140 second_point.cast_value_type_to<U>() ); 00141 } // box_2d::cast_value_type_to()
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::height | ( | ) | const [inline] |
Return box' height.
Definition at line 521 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::y.
Referenced by claw::math::box_2d< T >::area(), and claw::math::box_2d< T >::size().
00522 { 00523 if (first_point.y > second_point.y) 00524 return first_point.y - second_point.y; 00525 else 00526 return second_point.y - first_point.y; 00527 } // box_2d::height()
bool claw::math::box_2d< T >::includes | ( | const self_type & | r | ) | const [inline] |
Tell if a box_2d is in a box_2d.
r | The supposed included box_2d. |
Definition at line 172 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::includes(), and claw::math::box_2d< T >::second_point.
bool claw::math::box_2d< T >::includes | ( | const coordinate_2d< value_type > & | p | ) | const [inline] |
Tell if a point is in a box.
p | The supposed included point. |
Definition at line 160 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::left(), claw::math::box_2d< T >::right(), claw::math::box_2d< T >::top(), claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
Referenced by claw::math::box_2d< T >::includes().
claw::math::box_2d< T > claw::math::box_2d< T >::intersection | ( | const self_type & | r | ) | const [inline] |
Intersection of two box_2ds.
r | The supposed intersecting box_2d. |
Definition at line 196 of file box_2d.tpp.
References CLAW_PRECOND, claw::math::box_2d< T >::intersects(), claw::math::box_2d< T >::x_intersection(), and claw::math::box_2d< T >::y_intersection().
00197 { 00198 CLAW_PRECOND( intersects(r) ); 00199 00200 self_type result; 00201 00202 if ( intersects(r) ) 00203 { 00204 x_intersection(r, result); 00205 y_intersection(r, result); 00206 } 00207 00208 return result; 00209 } // box_2d::intersection()
bool claw::math::box_2d< T >::intersects | ( | const self_type & | r | ) | const [inline] |
Tell if there is an intersection of two boxes.
r | The supposed intersecting box. |
Definition at line 183 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::left(), claw::math::box_2d< T >::right(), and claw::math::box_2d< T >::top().
Referenced by claw::math::box_2d< T >::intersection().
void claw::math::box_2d< T >::left | ( | const value_type & | p | ) | [inline] |
Move the left edge at a given position.
p | The position. |
Definition at line 323 of file box_2d.tpp.
References claw::math::box_2d< T >::left(), and claw::math::box_2d< T >::shift_x().
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::left | ( | ) | const [inline] |
Get the x-coordinate of the left edge.
Definition at line 236 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::x.
Referenced by claw::math::box_2d< T >::bottom_left(), claw::math::box_2d< T >::includes(), claw::math::box_2d< T >::intersects(), claw::math::box_2d< T >::left(), claw::math::box_2d< T >::top_left(), and claw::math::box_2d< T >::x_intersection().
00237 { 00238 return (first_point.x < second_point.x) ? first_point.x : second_point.x; 00239 } // box_2d::left()
bool claw::math::box_2d< T >::operator!= | ( | const self_type & | that | ) | const [inline] |
claw::math::box_2d< T > claw::math::box_2d< T >::operator+ | ( | const point_type & | vect | ) | const [inline] |
Translation.
vect | The vector to add to points. |
Definition at line 458 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
00459 { 00460 return self_type( first_point + vect, second_point + vect ); 00461 } // box_2d::operator+()
claw::math::box_2d< T > & claw::math::box_2d< T >::operator+= | ( | const point_type & | vect | ) | [inline] |
Translation.
vect | The vector to add to points. |
Definition at line 482 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
00483 { 00484 first_point += vect; 00485 second_point += vect; 00486 } // box_2d::operator+=()
claw::math::box_2d< T > claw::math::box_2d< T >::operator- | ( | const point_type & | vect | ) | const [inline] |
Translation.
vect | The vector to substract to points. |
Definition at line 470 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
00471 { 00472 return self_type( first_point - vect, second_point - vect ); 00473 } // box_2d::operator-()
claw::math::box_2d< T > & claw::math::box_2d< T >::operator-= | ( | const point_type & | vect | ) | [inline] |
Translation.
vect | The vector to substract to points. |
Definition at line 495 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
00496 { 00497 first_point -= vect; 00498 second_point -= vect; 00499 } // box_2d::operator-=()
bool claw::math::box_2d< T >::operator== | ( | const self_type & | that | ) | const [inline] |
Equality operator.
that | Box to compare to. |
Definition at line 432 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
00433 { 00434 return (first_point == that.first_point) 00435 && (second_point == that.second_point) 00436 || (first_point == that.second_point) 00437 && (second_point == that.first_point); 00438 } // box_2d::operator==()
void claw::math::box_2d< T >::right | ( | const value_type & | p | ) | [inline] |
Move the right edge at a given position.
p | The position. |
Definition at line 334 of file box_2d.tpp.
References claw::math::box_2d< T >::right(), and claw::math::box_2d< T >::shift_x().
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::right | ( | ) | const [inline] |
Get the x-coordinate of the right edge.
Definition at line 246 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::x.
Referenced by claw::math::box_2d< T >::bottom_right(), claw::math::box_2d< T >::includes(), claw::math::box_2d< T >::intersects(), claw::math::box_2d< T >::right(), claw::math::box_2d< T >::top_right(), and claw::math::box_2d< T >::x_intersection().
00247 { 00248 return (first_point.x > second_point.x) ? first_point.x : second_point.x; 00249 } // box_2d::right()
void claw::math::box_2d< T >::set | ( | const value_type & | x1, | |
const value_type & | y1, | |||
const value_type & | x2, | |||
const value_type & | y2 | |||
) | [inline] |
Set the coordinates of the two points.
x1 | X-coordinate of the first point. | |
y1 | Y-coordinate of the first point. | |
x2 | X-coordinate of the second point. | |
y2 | Y-coordinate of the second point. |
Definition at line 107 of file box_2d.tpp.
00109 { 00110 first_point.set(x1, y1); 00111 second_point.set(x2, y2); 00112 } // box_2d::set()
void claw::math::box_2d< T >::shift_x | ( | const value_type & | d | ) | [inline] |
Shift the position of the box on the x-axis.
d | The movement length. |
Definition at line 397 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::x.
Referenced by claw::math::box_2d< T >::left(), and claw::math::box_2d< T >::right().
00398 { 00399 first_point.x += d; 00400 second_point.x += d; 00401 } // box_2d::shift_x()
void claw::math::box_2d< T >::shift_y | ( | const value_type & | d | ) | [inline] |
Shift the position of the box on the y-axis.
d | The movement length. |
Definition at line 409 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::y.
Referenced by claw::math::box_2d< T >::bottom(), and claw::math::box_2d< T >::top().
00410 { 00411 first_point.y += d; 00412 second_point.y += d; 00413 } // box_2d::shift_y()
claw::math::coordinate_2d< typename claw::math::box_2d< T >::value_type > claw::math::box_2d< T >::size | ( | ) | const [inline] |
Get the size of the box_2d.
Definition at line 421 of file box_2d.tpp.
References claw::math::box_2d< T >::height(), and claw::math::box_2d< T >::width().
00422 { 00423 return claw::math::coordinate_2d<value_type>(width(), height()); 00424 } // box_2d::size()
void claw::math::box_2d< T >::top | ( | const value_type & | p | ) | [inline] |
Move the top edge at a given position.
p | The position. |
Definition at line 301 of file box_2d.tpp.
References claw::math::box_2d< T >::shift_y(), and claw::math::box_2d< T >::top().
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::top | ( | ) | const [inline] |
Get the y-coordinate of the top edge.
Definition at line 216 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::y.
Referenced by claw::math::box_2d< T >::includes(), claw::math::box_2d< T >::intersects(), claw::math::box_2d< T >::top(), claw::math::box_2d< T >::top_left(), claw::math::box_2d< T >::top_right(), and claw::math::box_2d< T >::y_intersection().
00217 { 00218 return (first_point.y > second_point.y) ? first_point.y : second_point.y; 00219 } // box_2d::top()
void claw::math::box_2d< T >::top_left | ( | const coordinate_2d< value_type > & | p | ) | [inline] |
Move the top-left corner at a given position.
p | The position. |
Definition at line 346 of file box_2d.tpp.
References claw::math::box_2d< T >::left(), claw::math::box_2d< T >::top(), claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
claw::math::box_2d< T >::point_type claw::math::box_2d< T >::top_left | ( | ) | const [inline] |
Get the coordinate of the top-left corner.
Definition at line 257 of file box_2d.tpp.
References claw::math::box_2d< T >::left(), and claw::math::box_2d< T >::top().
00258 { 00259 return point_type(left(), top()); 00260 } // box_2d::top_left()
void claw::math::box_2d< T >::top_right | ( | const coordinate_2d< value_type > & | p | ) | [inline] |
Move the top-right corner at a given position.
p | The position. |
Definition at line 359 of file box_2d.tpp.
References claw::math::box_2d< T >::right(), claw::math::box_2d< T >::top(), claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
claw::math::box_2d< T >::point_type claw::math::box_2d< T >::top_right | ( | ) | const [inline] |
Get the coordinate of the top-right corner.
Definition at line 268 of file box_2d.tpp.
References claw::math::box_2d< T >::right(), and claw::math::box_2d< T >::top().
00269 { 00270 return point_type(right(), top()); 00271 } // box_2d::top_right()
claw::math::box_2d< T >::value_type claw::math::box_2d< T >::width | ( | ) | const [inline] |
Return box' width.
Definition at line 507 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, and claw::math::coordinate_2d< T >::x.
Referenced by claw::math::box_2d< T >::area(), and claw::math::box_2d< T >::size().
00508 { 00509 if (first_point.x > second_point.x) 00510 return first_point.x - second_point.x; 00511 else 00512 return second_point.x - first_point.x; 00513 } // box_2d::width()
void claw::math::box_2d< T >::x_intersection | ( | const self_type & | r, | |
self_type & | result | |||
) | const [inline, private] |
X-intersection of two box_2ds.
Definition at line 537 of file box_2d.tpp.
References claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::left(), claw::math::box_2d< T >::right(), claw::math::box_2d< T >::second_point, claw::math::coordinate_2d< T >::x, and claw::math::box_2d< T >::x_intersection().
Referenced by claw::math::box_2d< T >::intersection(), and claw::math::box_2d< T >::x_intersection().
00538 { 00539 if (left() <= r.left()) 00540 { 00541 result.first_point.x = r.left(); 00542 00543 if (right() >= r.right()) 00544 result.second_point.x = r.right(); 00545 else 00546 result.second_point.x = right(); 00547 } 00548 else 00549 r.x_intersection(*this, result); 00550 } // box_2d::x_intersection()
void claw::math::box_2d< T >::y_intersection | ( | const self_type & | r, | |
self_type & | result | |||
) | const [inline, private] |
Y-intersection of two box_2ds.
Definition at line 560 of file box_2d.tpp.
References claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::first_point, claw::math::box_2d< T >::second_point, claw::math::box_2d< T >::top(), claw::math::coordinate_2d< T >::y, and claw::math::box_2d< T >::y_intersection().
Referenced by claw::math::box_2d< T >::intersection(), and claw::math::box_2d< T >::y_intersection().
00561 { 00562 if (bottom() <= r.bottom()) 00563 { 00564 result.first_point.y = r.bottom(); 00565 00566 if (top() >= r.top()) 00567 result.second_point.y = r.top(); 00568 else 00569 result.second_point.y = top(); 00570 } 00571 else 00572 r.y_intersection(*this, result); 00573 } // box_2d::y_intersection()
point_type claw::math::box_2d< T >::first_point |
The first of the two points, representing one corner.
Definition at line 118 of file box_2d.hpp.
Referenced by claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::cast_value_type_to(), claw::math::box_2d< T >::height(), claw::math::rectangle< T >::includes(), claw::math::box_2d< T >::includes(), claw::math::box_2d< T >::left(), claw::math::box_2d< T >::operator+(), claw::math::box_2d< T >::operator+=(), claw::math::box_2d< T >::operator-(), claw::math::box_2d< T >::operator-=(), claw::math::box_2d< T >::operator==(), claw::math::box_2d< T >::right(), claw::math::box_2d< T >::shift_x(), claw::math::box_2d< T >::shift_y(), claw::math::box_2d< T >::top(), claw::math::box_2d< T >::width(), claw::math::box_2d< T >::x_intersection(), and claw::math::box_2d< T >::y_intersection().
point_type claw::math::box_2d< T >::second_point |
The second of the two points, representing an other corner.
Definition at line 121 of file box_2d.hpp.
Referenced by claw::math::box_2d< T >::bottom(), claw::math::box_2d< T >::cast_value_type_to(), claw::math::box_2d< T >::height(), claw::math::rectangle< T >::includes(), claw::math::box_2d< T >::includes(), claw::math::box_2d< T >::left(), claw::math::box_2d< T >::operator+(), claw::math::box_2d< T >::operator+=(), claw::math::box_2d< T >::operator-(), claw::math::box_2d< T >::operator-=(), claw::math::box_2d< T >::operator==(), claw::math::box_2d< T >::right(), claw::math::box_2d< T >::shift_x(), claw::math::box_2d< T >::shift_y(), claw::math::box_2d< T >::top(), claw::math::box_2d< T >::width(), claw::math::box_2d< T >::x_intersection(), and claw::math::box_2d< T >::y_intersection().