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++.
Loading...
Searching...
No Matches
asw::Quad< T > Class Template Reference

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.
 
bool contains (T x, T y) const
 Check if coordinates are inside the rectangle.
 
bool collides (const Quad &other) const
 Check if a rectangle is inside the rectangle.
 
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 a vector to the rectangle.
 
Quad operator- (const Quad< T > &quad) const
 Subtract a vector from the rectangle.
 
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.
 

Detailed Description

template<typename T>
class asw::Quad< T >

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 433 of file geometry.h.

Constructor & Destructor Documentation

◆ Quad() [1/3]

template<typename T >
asw::Quad< T >::Quad ( )
inline

Default constructor for the Quad class.

Definition at line 437 of file geometry.h.

◆ Quad() [2/3]

template<typename T >
asw::Quad< T >::Quad ( const Vec2< T > & position,
const Vec2< T > & size )
inline

Constructor for the Quad class.

Parameters
positionThe position of the rectangle.
sizeThe size of the rectangle.

Definition at line 448 of file geometry.h.

◆ Quad() [3/3]

template<typename T >
asw::Quad< T >::Quad ( T x,
T y,
T width,
T height )
inline

Constructor for the Quad class.

Parameters
xThe x position of the rectangle.
yThe y position of the rectangle.
widthThe width of the rectangle.
heightThe height of the rectangle.

Definition at line 461 of file geometry.h.

Member Function Documentation

◆ collides()

template<typename T >
bool asw::Quad< T >::collides ( const Quad< T > & other) const
inline

Check if a rectangle is inside the rectangle.

Parameters
otherThe rectangle to check.
Returns
bool True if the rectangle is inside the rectangle.

Definition at line 523 of file geometry.h.

◆ collides_bottom()

template<typename T >
bool asw::Quad< T >::collides_bottom ( const Quad< T > & other) const
inline

Definition at line 534 of file geometry.h.

◆ collides_left()

template<typename T >
bool asw::Quad< T >::collides_left ( const Quad< T > & other) const
inline

Definition at line 545 of file geometry.h.

◆ collides_right()

template<typename T >
bool asw::Quad< T >::collides_right ( const Quad< T > & other) const
inline

Definition at line 550 of file geometry.h.

◆ collides_top()

template<typename T >
bool asw::Quad< T >::collides_top ( const Quad< T > & other) const
inline

Definition at line 540 of file geometry.h.

◆ contains() [1/2]

template<typename T >
bool asw::Quad< T >::contains ( const Vec2< T > & point) const
inline

Check if a point is inside the rectangle.

Parameters
pointThe point to check.
Returns
bool True if the point is inside the rectangle.

Definition at line 501 of file geometry.h.

◆ contains() [2/2]

template<typename T >
bool asw::Quad< T >::contains ( T x,
T y ) const
inline

Check if coordinates are inside the rectangle.

Parameters
pointThe point to check.
Returns
bool True if the point is inside the rectangle.

Definition at line 512 of file geometry.h.

◆ get_center()

template<typename T >
Vec2< T > asw::Quad< T >::get_center ( ) const
inline

Get center of the rectangle.

Returns
Vec2 The center of the rectangle.

Definition at line 491 of file geometry.h.

◆ operator*()

template<typename T >
Quad asw::Quad< T >::operator* ( const T scalar) const
inline

Multiply the rectangle by a scalar.

Parameters
scalarThe scalar to multiply by.
Returns
Quad The rectangle multiplied by the scalar.

Definition at line 581 of file geometry.h.

◆ operator+()

template<typename T >
Quad asw::Quad< T >::operator+ ( const Quad< T > & quad) const
inline

Add a vector to the rectangle.

Parameters
vecThe vector to add.
Returns
Quad The rectangle with the vector added.

Definition at line 561 of file geometry.h.

◆ operator-()

template<typename T >
Quad asw::Quad< T >::operator- ( const Quad< T > & quad) const
inline

Subtract a vector from the rectangle.

Parameters
vecThe vector to subtract.
Returns
Quad The rectangle with the vector subtracted.

Definition at line 571 of file geometry.h.

◆ operator/()

template<typename T >
Quad asw::Quad< T >::operator/ ( const T scalar) const
inline

Divide the rectangle by a scalar.

Parameters
scalarThe scalar to divide by.
Returns
Quad The rectangle divided by the scalar.

Definition at line 591 of file geometry.h.

◆ set_position()

template<typename T >
void asw::Quad< T >::set_position ( T x,
T y )
inline

Set the position of the rectangle.

Parameters
xThe x position of the rectangle.
yThe y position of the rectangle.

Definition at line 472 of file geometry.h.

◆ set_size()

template<typename T >
void asw::Quad< T >::set_size ( T width,
T height )
inline

Set the size of the rectangle.

Parameters
widthThe width of the rectangle.
heightThe height of the rectangle.

Definition at line 482 of file geometry.h.

Member Data Documentation

◆ position

template<typename T >
Vec2<T> asw::Quad< T >::position

The position of the rectangle.

Definition at line 597 of file geometry.h.

◆ size

template<typename T >
Vec2<T> asw::Quad< T >::size

The size of the rectangle.

Definition at line 600 of file geometry.h.


The documentation for this class was generated from the following file: