|
ASW Lib
A.D.S. Games SDL Wrapper Library. A library targeted at Allegro4 users who want to switch to SDL3 and use modern c++.
|
A 2D rectangle in space. More...
#include <geometry.h>
Public Member Functions | |
| Quad () | |
| Default constructor for the Quad class. | |
| Quad (const Vec2< T > &position, const Vec2< T > &size) | |
| Constructor for the Quad class. | |
| Quad (T x, T y, T width, T height) | |
| Constructor for the Quad class. | |
| void | set_position (T x, T y) |
| Set the position of the rectangle. | |
| void | set_size (T width, T height) |
| Set the size of the rectangle. | |
| Vec2< T > | get_center () const |
| Get center of the rectangle. | |
| bool | contains (const Vec2< T > &point) const |
| Check if a point is inside the rectangle. The left and top edges are inside, the right and bottom edges are not, as for collides, so rectangles that share an edge never both contain a point. | |
| bool | contains (T x, T y) const |
| Check if coordinates are inside the rectangle. The left and top edges are inside, the right and bottom edges are not, as for collides. | |
| bool | collides (const Quad &other) const |
| Check if a rectangle is inside the rectangle. | |
| Vec2< T > | closest_point (const Vec2< T > &point) const |
| Get the point in or on the rectangle closest to another point. | |
| Vec2< T >::Real | distance_to (const Vec2< T > &point) const |
| Get the distance from a point to the edge of the rectangle. | |
| Vec2< T > | get_push_out (const Quad &other) const |
| Get the smallest move that pushes this rectangle out of another. Useful to stop a moving box from entering solid scenery. | |
| bool | collides_bottom (const Quad &other) const |
| bool | collides_top (const Quad &other) const |
| bool | collides_left (const Quad &other) const |
| bool | collides_right (const Quad &other) const |
| Quad | operator+ (const Quad< T > &quad) const |
| Add another rectangle's position and size to this one. | |
| Quad | operator- (const Quad< T > &quad) const |
| Subtract another rectangle's position and size from this one. | |
| Quad | operator* (const T scalar) const |
| Multiply the rectangle by a scalar. | |
| Quad | operator/ (const T scalar) const |
| Divide the rectangle by a scalar. | |
Public Attributes | |
| Vec2< T > | position |
| The position of the rectangle. | |
| Vec2< T > | size |
| The size of the rectangle. | |
A 2D rectangle in space.
This class represents a 2D rectangle in space. It is used to represent areas, sizes, and positions.
Definition at line 504 of file geometry.h.
|
inline |
Default constructor for the Quad class.
Definition at line 508 of file geometry.h.
|
inline |
Constructor for the Quad class.
| position | The position of the rectangle. |
| size | The size of the rectangle. |
Definition at line 519 of file geometry.h.
|
inline |
Constructor for the Quad class.
| x | The x position of the rectangle. |
| y | The y position of the rectangle. |
| width | The width of the rectangle. |
| height | The height of the rectangle. |
Definition at line 532 of file geometry.h.
|
inline |
Get the point in or on the rectangle closest to another point.
| point | The point to check. |
Definition at line 613 of file geometry.h.
Check if a rectangle is inside the rectangle.
| other | The rectangle to check. |
Definition at line 597 of file geometry.h.
Definition at line 662 of file geometry.h.
Definition at line 673 of file geometry.h.
Definition at line 678 of file geometry.h.
Definition at line 668 of file geometry.h.
Check if a point is inside the rectangle. The left and top edges are inside, the right and bottom edges are not, as for collides, so rectangles that share an edge never both contain a point.
| point | The point to check. |
Definition at line 574 of file geometry.h.
|
inline |
Check if coordinates are inside the rectangle. The left and top edges are inside, the right and bottom edges are not, as for collides.
| x | The x coordinate to check. |
| y | The y coordinate to check. |
Definition at line 586 of file geometry.h.
|
inline |
Get the distance from a point to the edge of the rectangle.
| point | The point to check. |
Definition at line 627 of file geometry.h.
Get center of the rectangle.
Definition at line 562 of file geometry.h.
|
inline |
Get the smallest move that pushes this rectangle out of another. Useful to stop a moving box from entering solid scenery.
| other | The rectangle to push out of. |
Definition at line 640 of file geometry.h.
Multiply the rectangle by a scalar.
| scalar | The scalar to multiply by. |
Definition at line 709 of file geometry.h.
Add another rectangle's position and size to this one.
| quad | The rectangle to add. |
Definition at line 689 of file geometry.h.
Subtract another rectangle's position and size from this one.
| quad | The rectangle to subtract. |
Definition at line 699 of file geometry.h.
Divide the rectangle by a scalar.
| scalar | The scalar to divide by. |
Definition at line 719 of file geometry.h.
|
inline |
Set the position of the rectangle.
| x | The x position of the rectangle. |
| y | The y position of the rectangle. |
Definition at line 543 of file geometry.h.
|
inline |
Set the size of the rectangle.
| width | The width of the rectangle. |
| height | The height of the rectangle. |
Definition at line 553 of file geometry.h.
The position of the rectangle.
Definition at line 725 of file geometry.h.
The size of the rectangle.
Definition at line 728 of file geometry.h.