Rectangle template. More...
#include <rect.h>
Rectangle template.
Mostly used by 2D GUI elements and for 2D drawing methods. It has 2 positions instead of position and dimension and a fast method for collision detection with other rectangles and points.
Coordinates are (0,0) for top-left corner, and increasing to the right and to the bottom.
irr::core::rect< T >::rect | ( | ) | [inline] |
irr::core::rect< T >::rect | ( | T | x, |
T | y, | ||
T | x2, | ||
T | y2 | ||
) | [inline] |
irr::core::rect< T >::rect | ( | const position2d< T > & | upperLeft, |
const position2d< T > & | lowerRight | ||
) | [inline] |
irr::core::rect< T >::rect | ( | const position2d< T > & | pos, |
const dimension2d< U > & | size | ||
) | [inline] |
void irr::core::rect< T >::addInternalPoint | ( | const position2d< T > & | p | ) | [inline] |
Adds a point to the rectangle.
Causes the rectangle to grow bigger if point is outside of the box
p | Point to add to the box. |
Definition at line 241 of file rect.h.
Referenced by irr::core::rect< f32 >::addInternalPoint().
void irr::core::rect< T >::addInternalPoint | ( | T | x, |
T | y | ||
) | [inline] |
void irr::core::rect< T >::clipAgainst | ( | const rect< T > & | other | ) | [inline] |
Clips this rectangle with another one.
other | Rectangle to clip with |
Definition at line 126 of file rect.h.
Referenced by irr::gui::IGUIElement::recalculateAbsolutePosition().
bool irr::core::rect< T >::constrainTo | ( | const rect< T > & | other | ) | [inline] |
T irr::core::rect< T >::getArea | ( | ) | const [inline] |
Returns size of rectangle.
Definition at line 97 of file rect.h.
Referenced by irr::core::rect< f32 >::operator<().
position2d<T> irr::core::rect< T >::getCenter | ( | ) | const [inline] |
T irr::core::rect< T >::getHeight | ( | ) | const [inline] |
Get height of rectangle.
Definition at line 190 of file rect.h.
Referenced by irr::core::CMatrix4< T >::buildNDCToDCMatrix(), irr::core::rect< f32 >::constrainTo(), irr::core::rect< f32 >::getArea(), irr::core::rect< f32 >::getSize(), and irr::gui::IGUIElement::recalculateAbsolutePosition().
dimension2d<T> irr::core::rect< T >::getSize | ( | ) | const [inline] |
Get the dimensions of the rectangle.
Definition at line 231 of file rect.h.
Referenced by irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::setRelativePositionProportional().
T irr::core::rect< T >::getWidth | ( | ) | const [inline] |
Get width of rectangle.
Definition at line 184 of file rect.h.
Referenced by irr::core::CMatrix4< T >::buildNDCToDCMatrix(), irr::core::rect< f32 >::constrainTo(), irr::core::rect< f32 >::getArea(), irr::core::rect< f32 >::getSize(), and irr::gui::IGUIElement::recalculateAbsolutePosition().
bool irr::core::rect< T >::isPointInside | ( | const position2d< T > & | pos | ) | const [inline] |
Returns if a 2d point is within this rectangle.
pos | Position to test if it lies within this rectangle. |
Definition at line 105 of file rect.h.
Referenced by irr::gui::IGUIElement::isPointInside().
bool irr::core::rect< T >::isRectCollided | ( | const rect< T > & | other | ) | const [inline] |
bool irr::core::rect< T >::isValid | ( | ) | const [inline] |
bool irr::core::rect< T >::operator!= | ( | const rect< T > & | other | ) | const [inline] |
rect<T> irr::core::rect< T >::operator+ | ( | const position2d< T > & | pos | ) | const [inline] |
rect<T>& irr::core::rect< T >::operator+= | ( | const position2d< T > & | pos | ) | [inline] |
rect<T> irr::core::rect< T >::operator- | ( | const position2d< T > & | pos | ) | const [inline] |
rect<T>& irr::core::rect< T >::operator-= | ( | const position2d< T > & | pos | ) | [inline] |
bool irr::core::rect< T >::operator< | ( | const rect< T > & | other | ) | const [inline] |
bool irr::core::rect< T >::operator== | ( | const rect< T > & | other | ) | const [inline] |
void irr::core::rect< T >::repair | ( | ) | [inline] |
If the lower right corner of the rect is smaller then the upper left, the points are swapped.
Definition at line 196 of file rect.h.
Referenced by irr::gui::IGUIElement::recalculateAbsolutePosition().
position2d<T> irr::core::rect< T >::LowerRightCorner |
Lower right corner.
Definition at line 267 of file rect.h.
Referenced by irr::core::rect< f32 >::addInternalPoint(), irr::core::CMatrix4< T >::buildNDCToDCMatrix(), irr::core::rect< f32 >::clipAgainst(), irr::core::rect< f32 >::constrainTo(), irr::core::rect< f32 >::getCenter(), irr::core::rect< f32 >::getHeight(), irr::core::rect< f32 >::getWidth(), irr::core::rect< f32 >::isPointInside(), irr::core::rect< f32 >::isRectCollided(), irr::core::rect< f32 >::isValid(), irr::core::rect< f32 >::operator!=(), irr::core::rect< f32 >::operator+=(), irr::core::rect< f32 >::operator-=(), irr::core::rect< f32 >::operator==(), irr::gui::IGUIElement::recalculateAbsolutePosition(), irr::core::rect< f32 >::repair(), irr::gui::IGUIElement::setAlignment(), irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::setRelativePositionProportional().
position2d<T> irr::core::rect< T >::UpperLeftCorner |
Upper left corner.
Definition at line 265 of file rect.h.
Referenced by irr::core::rect< f32 >::addInternalPoint(), irr::core::CMatrix4< T >::buildNDCToDCMatrix(), irr::core::rect< f32 >::clipAgainst(), irr::core::rect< f32 >::constrainTo(), irr::core::rect< f32 >::getCenter(), irr::core::rect< f32 >::getHeight(), irr::core::rect< f32 >::getWidth(), irr::core::rect< f32 >::isPointInside(), irr::core::rect< f32 >::isRectCollided(), irr::core::rect< f32 >::isValid(), irr::core::rect< f32 >::operator!=(), irr::core::rect< f32 >::operator+=(), irr::core::rect< f32 >::operator-=(), irr::core::rect< f32 >::operator==(), irr::gui::IGUIElement::recalculateAbsolutePosition(), irr::core::rect< f32 >::repair(), irr::gui::IGUIElement::setAlignment(), irr::gui::IGUIElement::setRelativePosition(), and irr::gui::IGUIElement::setRelativePositionProportional().