bn::top_left_rect class

Defines a two-dimensional rectangle using integer precision and a top-left point as position.

Constructors, destructors, conversion operators

top_left_rect() defaulted constexpr
Default constructor.
top_left_rect(const point& position, const size& dimensions) constexpr
Constructor.
top_left_rect(int x, int y, int width, int height) constexpr
Constructor.

Public functions

auto position() const -> const point& constexpr
Returns the position of the top-left point of the rectangle.
void set_position(const point& position) constexpr
Sets the position of the top-left point of the rectangle.
void set_position(int x, int y) constexpr
Sets the position of the top-left point of the rectangle.
auto dimensions() const -> const size& constexpr
Returns the size of the rectangle.
void set_dimensions(const size& dimensions) constexpr
Sets the size of the rectangle.
void set_dimensions(int width, int height) constexpr
Sets the size of the rectangle.
auto x() const -> int constexpr
Returns the horizontal position of the top-left point of the rectangle.
void set_x(int x) constexpr
Sets the horizontal position of the top-left point of the rectangle.
auto y() const -> int constexpr
Returns the vertical position of the top-left point of the rectangle.
void set_y(int y) constexpr
Sets the vertical position of the top-left point of the rectangle.
auto width() const -> int constexpr
Returns the width of the rectangle.
void set_width(int width) constexpr
Sets the width of the rectangle.
auto height() const -> int constexpr
Returns the height of the rectangle.
void set_height(int height) constexpr
Sets the height of the rectangle.
auto top() const -> int constexpr
Returns the position of the top boundary of the rectangle.
auto left() const -> int constexpr
Returns the position of the left boundary of the rectangle.
auto bottom() const -> int constexpr
Returns the position of the bottom boundary of the rectangle.
auto right() const -> int constexpr
Returns the position of the right boundary of the rectangle.
auto top_left() const -> point constexpr
Returns the position of the top-left corner of the rectangle.
auto top_right() const -> point constexpr
Returns the position of the top-right corner of the rectangle.
auto bottom_left() const -> point constexpr
Returns the position of the bottom-left corner of the rectangle.
auto bottom_right() const -> point constexpr
Returns the position of the bottom-right corner of the rectangle.
auto center_x() const -> int constexpr
Returns the horizontal position of the center point of the rectangle.
auto center_y() const -> int constexpr
Returns the vertical position of the center point of the rectangle.
auto center() const -> point constexpr
Returns the position of the center point of the rectangle.
auto contains(const point& point) const -> bool constexpr
Indicates if the given point is inside the rectangle or not.
auto intersects(const top_left_rect& other) const -> bool constexpr
Indicates if this rectangle intersects with the given one or not.

Friends

auto operator==(const top_left_rect& a, const top_left_rect& b) -> bool defaulted constexpr
Default equal operator.

Function documentation

bn::top_left_rect::top_left_rect(const point& position, const size& dimensions) constexpr

Constructor.

Parameters
position Position of the top-left point of the rectangle.
dimensions Size of the rectangle.

bn::top_left_rect::top_left_rect(int x, int y, int width, int height) constexpr

Constructor.

Parameters
x Horizontal position of the top-left point of the rectangle.
y Vertical position of the top-left point of the rectangle.
width Valid width of the rectangle (>= 0).
height Valid height of the rectangle (>= 0).

void bn::top_left_rect::set_position(int x, int y) constexpr

Sets the position of the top-left point of the rectangle.

Parameters
x Horizontal position of the top-left point of the rectangle.
y Vertical position of the top-left point of the rectangle.

void bn::top_left_rect::set_dimensions(int width, int height) constexpr

Sets the size of the rectangle.

Parameters
width Valid width of the rectangle (>= 0).
height Valid height of the rectangle (>= 0).

void bn::top_left_rect::set_width(int width) constexpr

Sets the width of the rectangle.

Parameters
width Valid width (>= 0).

void bn::top_left_rect::set_height(int height) constexpr

Sets the height of the rectangle.

Parameters
height Valid height (>= 0).

bool bn::top_left_rect::contains(const point& point) const constexpr

Indicates if the given point is inside the rectangle or not.

If the point is in the edge of the rectangle, it returns false.

bool bn::top_left_rect::intersects(const top_left_rect& other) const constexpr

Indicates if this rectangle intersects with the given one or not.

Two rectangles intersect if there is at least one point that is within both rectangles.