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::Vec2< T > Class Template Reference

A 2D vector in space. More...

#include <geometry.h>

Public Member Functions

 Vec2 ()
 Default constructor for the Vec2 class.
 
 Vec2 (T x, T y)
 Constructor for the Vec2 class.
 
angle (const Vec2 &other) const
 Get angle of two vectors.
 
angle () const
 Calculate the angle of the vector.
 
distance (const Vec2 &other) const
 Get distance between two vectors.
 
dot (const Vec2 &other) const
 Calculate the dot product of two vectors.
 
cross (const Vec2 &other) const
 Calculate the cross product of two vectors.
 
magnitude () const
 Calculate the magnitude of the vector.
 
Vec2 operator+ (const Vec2 &other) const
 Addition operator for the Vec2 class.
 
Vec2 operator- (const Vec2 &other) const
 Subtraction operator for the Vec2 class.
 
Vec2 operator* (const T scalar) const
 Multiplication operator for the Vec2 class.
 
Vec2 operator/ (const T scalar) const
 Division operator for the Vec2 class.
 
Vec2operator+= (const Vec2 &other)
 Addition assignment operator for the Vec2 class.
 
Vec2operator-= (const Vec2 &other)
 Subtraction assignment operator for the Vec2 class.
 
Vec2operator*= (const T scalar)
 Multiplication assignment operator for the Vec2 class.
 
Vec2operator/= (const T scalar)
 Division assignment operator for the Vec2 class.
 
bool operator== (const Vec2 &other) const
 Equality operator for the Vec2 class.
 
bool operator!= (const Vec2 &other) const
 Inequality operator for the Vec2 class.
 

Public Attributes

x {0}
 The x component of the vector.
 
y {0}
 The y component of the vector.
 

Detailed Description

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

A 2D vector in space.

This class represents a 2D vector in space. It is used to represent points, directions, and sizes.

Definition at line 22 of file geometry.h.

Constructor & Destructor Documentation

◆ Vec2() [1/2]

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

Default constructor for the Vec2 class.

Definition at line 26 of file geometry.h.

◆ Vec2() [2/2]

template<typename T >
asw::Vec2< T >::Vec2 ( T x,
T y )
inline

Constructor for the Vec2 class.

Parameters
xThe x component of the vector.
yThe y component of the vector.

Definition at line 33 of file geometry.h.

Member Function Documentation

◆ angle() [1/2]

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

Calculate the angle of the vector.

Returns
T The angle of the vector in radians.

Definition at line 47 of file geometry.h.

◆ angle() [2/2]

template<typename T >
T asw::Vec2< T >::angle ( const Vec2< T > & other) const
inline

Get angle of two vectors.

Returns
The angle of the vector in radians.

Definition at line 39 of file geometry.h.

◆ cross()

template<typename T >
T asw::Vec2< T >::cross ( const Vec2< T > & other) const
inline

Calculate the cross product of two vectors.

Parameters
otherThe vector to cross with.
Returns
T The cross product of the vectors.

Definition at line 74 of file geometry.h.

◆ distance()

template<typename T >
T asw::Vec2< T >::distance ( const Vec2< T > & other) const
inline

Get distance between two vectors.

Returns
The distance between the vectors.

Definition at line 58 of file geometry.h.

◆ dot()

template<typename T >
T asw::Vec2< T >::dot ( const Vec2< T > & other) const
inline

Calculate the dot product of two vectors.

Parameters
otherThe vector to dot with.
Returns
T The dot product of the vectors.

Definition at line 67 of file geometry.h.

◆ magnitude()

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

Calculate the magnitude of the vector.

Returns
T The magnitude of the vector.

Definition at line 80 of file geometry.h.

◆ operator!=()

template<typename T >
bool asw::Vec2< T >::operator!= ( const Vec2< T > & other) const
inline

Inequality operator for the Vec2 class.

Parameters
otherThe vector to compare.
Returns
bool True if the vectors are not equal.

Definition at line 176 of file geometry.h.

◆ operator*()

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

Multiplication operator for the Vec2 class.

Parameters
scalarThe scalar to multiply by.
Returns
Vec2 The scaled vector.

Definition at line 105 of file geometry.h.

◆ operator*=()

template<typename T >
Vec2 & asw::Vec2< T >::operator*= ( const T scalar)
inline

Multiplication assignment operator for the Vec2 class.

Parameters
scalarThe scalar to multiply by.
Returns
Vec2& The scaled vector.

Definition at line 145 of file geometry.h.

◆ operator+()

template<typename T >
Vec2 asw::Vec2< T >::operator+ ( const Vec2< T > & other) const
inline

Addition operator for the Vec2 class.

Parameters
otherThe vector to add.
Returns
Vec2 The sum of the vectors.

Definition at line 87 of file geometry.h.

◆ operator+=()

template<typename T >
Vec2 & asw::Vec2< T >::operator+= ( const Vec2< T > & other)
inline

Addition assignment operator for the Vec2 class.

Parameters
otherThe vector to add.
Returns
Vec2& The sum of the vectors.

Definition at line 123 of file geometry.h.

◆ operator-()

template<typename T >
Vec2 asw::Vec2< T >::operator- ( const Vec2< T > & other) const
inline

Subtraction operator for the Vec2 class.

Parameters
otherThe vector to subtract.
Returns
Vec2 The difference of the vectors.

Definition at line 96 of file geometry.h.

◆ operator-=()

template<typename T >
Vec2 & asw::Vec2< T >::operator-= ( const Vec2< T > & other)
inline

Subtraction assignment operator for the Vec2 class.

Parameters
otherThe vector to subtract.
Returns
Vec2& The difference of the vectors.

Definition at line 134 of file geometry.h.

◆ operator/()

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

Division operator for the Vec2 class.

Parameters
scalarThe scalar to divide by.
Returns
Vec2 The scaled vector.

Definition at line 114 of file geometry.h.

◆ operator/=()

template<typename T >
Vec2 & asw::Vec2< T >::operator/= ( const T scalar)
inline

Division assignment operator for the Vec2 class.

Parameters
scalarThe scalar to divide by.
Returns
Vec2& The scaled vector.

Definition at line 156 of file geometry.h.

◆ operator==()

template<typename T >
bool asw::Vec2< T >::operator== ( const Vec2< T > & other) const
inline

Equality operator for the Vec2 class.

Parameters
otherThe vector to compare.
Returns
bool True if the vectors are equal.

Definition at line 167 of file geometry.h.

Member Data Documentation

◆ x

template<typename T >
T asw::Vec2< T >::x {0}

The x component of the vector.

Definition at line 181 of file geometry.h.

◆ y

template<typename T >
T asw::Vec2< T >::y {0}

The y component of the vector.

Definition at line 184 of file geometry.h.


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