Claw
1.7.3
|
A class representing a rectangle by his x,y coordinates, width and height. More...
#include <rectangle.hpp>
Public Types | |
typedef T | value_type |
The type of the values we store. | |
typedef rectangle< value_type > | self_type |
The type of the current class. |
Public Member Functions | |
rectangle () | |
Constructor. | |
template<typename U > | |
rectangle (const rectangle< U > &that) | |
Copy constructor. | |
template<typename U > | |
rectangle (const box_2d< U > &that) | |
Constructor from a box. | |
rectangle (const value_type &_x, const value_type &_y, const value_type &_width, const value_type &_height) | |
Constructor with initialization. | |
template<typename U > | |
rectangle (const coordinate_2d< U > &pos, const value_type &_width, const value_type &_height) | |
Constructor with initialization. | |
template<typename U > | |
rectangle (const coordinate_2d< U > &pos, const coordinate_2d< U > &size) | |
Constructor with initialization. | |
template<typename U > | |
rectangle< U > | cast_value_type_to () const |
Get a copy of the rectangle by converting its members to a given type. | |
bool | operator== (const self_type &that) const |
Tell if this rectangle equals an other rectangle. | |
bool | operator!= (const self_type &that) const |
Tell if this rectangle equals an other rectangle. | |
value_type | area () const |
Calculate the rectangle's area. | |
bool | includes (const coordinate_2d< value_type > &p) const |
Tell if a point is in a rectangle. | |
bool | includes (const self_type &r) const |
Tell if a rectangle is in a rectangle. | |
bool | intersects (const self_type &r) const |
Tell if there is an intersection of two rectangles. | |
self_type | intersection (const self_type &r) const |
Intersection of two rectangles. | |
self_type | join (const self_type &r) const |
Get the smallest rectangle bounding both this rectangle and another one. | |
void | set (const value_type &new_x, const value_type &new_y, const value_type &new_width, const value_type &new_height) |
set new position and size to the rectangle. | |
value_type | left () const |
Get the x-coordinate of the left edge. | |
value_type | right () const |
Get the x-coordinate of the right edge. | |
value_type | bottom () const |
Get the y-coordinate of the bottom edge. | |
value_type | top () const |
Get the y-coordinate of the top edge. | |
coordinate_2d< value_type > | size () const |
Get the size of the rectangle. |
Public Attributes | |
coordinate_2d< value_type > | position |
value_typeop left coordinates. | |
value_type | width |
Width. | |
value_type | height |
Height. |
A class representing a rectangle by his x,y coordinates, width and height.
This class considers that the y-axis increases from the top to the bottom (like a screen).
Definition at line 51 of file rectangle.hpp.
claw::math::rectangle< T >::rectangle | ( | const rectangle< U > & | that | ) |
Copy constructor.
that | Rectangle to copy from. |
Definition at line 49 of file rectangle.tpp.
claw::math::rectangle< T >::rectangle | ( | const box_2d< U > & | that | ) |
Constructor from a box.
that | The box to copy from. |
Definition at line 62 of file rectangle.tpp.
claw::math::rectangle< T >::rectangle | ( | const value_type & | _x, |
const value_type & | _y, | ||
const value_type & | _width, | ||
const value_type & | _height | ||
) |
Constructor with initialization.
_x | Rectangle's X-coordinate. |
_y | Rectangle's Y-coordinate. |
_width | Rectangle's width. |
_height | Rectangle's height. |
Definition at line 79 of file rectangle.tpp.
claw::math::rectangle< T >::rectangle | ( | const coordinate_2d< U > & | pos, |
const value_type & | _width, | ||
const value_type & | _height | ||
) |
Constructor with initialization.
pos | The position of the rectangle. |
_width | Rectangle's width. |
_height | Rectangle's height. |
Definition at line 96 of file rectangle.tpp.
claw::math::rectangle< T >::rectangle | ( | const coordinate_2d< U > & | pos, |
const coordinate_2d< U > & | size | ||
) |
Constructor with initialization.
pos | The position of the rectangle. |
size | The size of the rectangle. |
Definition at line 112 of file rectangle.tpp.
claw::math::rectangle< U > claw::math::rectangle< T >::cast_value_type_to | ( | ) | const |
Get a copy of the rectangle by converting its members to a given type.
Consider the following code:
rectangle<float> a;
...
rectangle<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 want to make them disapear by adding explicit type conversion inside the rectangle 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 140 of file rectangle.tpp.
bool claw::math::rectangle< T >::includes | ( | const coordinate_2d< value_type > & | p | ) | const |
Tell if a point is in a rectangle.
p | The supposed included point. |
Definition at line 187 of file rectangle.tpp.
References claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
bool claw::math::rectangle< T >::includes | ( | const self_type & | r | ) | const |
Tell if a rectangle is in a rectangle.
r | The supposed included rectangle. |
Definition at line 199 of file rectangle.tpp.
References claw::math::box_2d< T >::first_point, and claw::math::box_2d< T >::second_point.
claw::math::rectangle< T > claw::math::rectangle< T >::intersection | ( | const self_type & | r | ) | const |
Intersection of two rectangles.
r | The supposed intersecting rectangle. |
Definition at line 227 of file rectangle.tpp.
Referenced by claw::graphic::image::fill(), claw::graphic::image::merge(), and claw::graphic::image::partial_copy().
bool claw::math::rectangle< T >::intersects | ( | const self_type & | r | ) | const |
Tell if there is an intersection of two rectangles.
r | The supposed intersecting rectangle. |
Definition at line 212 of file rectangle.tpp.
References claw::math::rectangle< T >::bottom(), claw::math::rectangle< T >::position, claw::math::rectangle< T >::right(), claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.
Referenced by claw::graphic::image::fill(), claw::graphic::image::merge(), and claw::graphic::image::partial_copy().
claw::math::rectangle< T > claw::math::rectangle< T >::join | ( | const self_type & | r | ) | const |
Get the smallest rectangle bounding both this rectangle and another one.
r | The other rectangle. |
Definition at line 248 of file rectangle.tpp.
References claw::math::rectangle< T >::bottom(), claw::math::rectangle< T >::left(), claw::math::rectangle< T >::right(), and claw::math::rectangle< T >::top().
bool claw::math::rectangle< T >::operator!= | ( | const self_type & | that | ) | const |
Tell if this rectangle equals an other rectangle.
that | The rectangle to compare to. |
Definition at line 164 of file rectangle.tpp.
bool claw::math::rectangle< T >::operator== | ( | const self_type & | that | ) | const |
Tell if this rectangle equals an other rectangle.
that | The rectangle to compare to. |
Definition at line 152 of file rectangle.tpp.
References claw::math::rectangle< T >::height, claw::math::rectangle< T >::position, and claw::math::rectangle< T >::width.
void claw::math::rectangle< T >::set | ( | const value_type & | new_x, |
const value_type & | new_y, | ||
const value_type & | new_width, | ||
const value_type & | new_height | ||
) |
set new position and size to the rectangle.
new_x | New x-coordinate. |
new_y | New y-coordinate. |
new_width | New width. |
new_height | New height. |
Definition at line 270 of file rectangle.tpp.