Claw
1.7.0
|
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. | |
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 48 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 61 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 78 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 95 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 111 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 139 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 186 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 198 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 226 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 211 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().
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 163 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 151 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 249 of file rectangle.tpp.