Potato Engine
Loading...
Searching...
No Matches
Vector2 Struct Reference

Standard 2-dimensional vector. More...

#include <Vector2.hpp>

Public Member Functions

constexpr Vector2 ()
 Constructs zero vector.
constexpr Vector2 (float x, float y)
 Constructs custom vector.
constexpr Vector2 (const Vector2 &vec)
 Constructs vector from copy.
Vector2 operator+ (const Vector2 &other) const
void operator+= (const Vector2 &other)
 Adds to vector.
Vector2 operator- (const Vector2 &other) const
void operator-= (const Vector2 &other)
 Subtracts from vector.
Vector2 operator* (float scalar) const
Vector2 operator* (const Vector2 &other) const
Vector2 operator/ (float scalar) const
Vector2 operator- () const
Vector2 Swizzled () const
float Dot (const Vector2 &other) const
float Magnitude () const
Vector2 Normalized () const
std::string ToString () const

Public Attributes

float x
 X Component.
float y
 Y Component.

Detailed Description

Standard 2-dimensional vector.

Definition at line 10 of file Vector2.hpp.

Constructor & Destructor Documentation

◆ Vector2() [1/3]

Vector2::Vector2 ( )
inlineconstexpr

Constructs zero vector.

Definition at line 18 of file Vector2.hpp.

◆ Vector2() [2/3]

Vector2::Vector2 ( float x,
float y )
inlineconstexpr

Constructs custom vector.

Parameters
xX
yY

Definition at line 20 of file Vector2.hpp.

◆ Vector2() [3/3]

Vector2::Vector2 ( const Vector2 & vec)
inlineconstexpr

Constructs vector from copy.

Parameters
vecVector to copy

Definition at line 22 of file Vector2.hpp.

Member Function Documentation

◆ operator+()

Vector2 Vector2::operator+ ( const Vector2 & other) const
inline
Returns
addition of two vectors

Definition at line 25 of file Vector2.hpp.

◆ operator+=()

void Vector2::operator+= ( const Vector2 & other)
inline

Adds to vector.

Definition at line 29 of file Vector2.hpp.

◆ operator-() [1/2]

Vector2 Vector2::operator- ( const Vector2 & other) const
inline
Returns
subtraction of two vectors

Definition at line 34 of file Vector2.hpp.

◆ operator-=()

void Vector2::operator-= ( const Vector2 & other)
inline

Subtracts from vector.

Definition at line 38 of file Vector2.hpp.

◆ operator*() [1/2]

Vector2 Vector2::operator* ( float scalar) const
inline
Returns
amplification by a scalar

Definition at line 43 of file Vector2.hpp.

◆ operator*() [2/2]

Vector2 Vector2::operator* ( const Vector2 & other) const
inline
Returns
hadamard product of two vectors

Definition at line 47 of file Vector2.hpp.

◆ operator/()

Vector2 Vector2::operator/ ( float scalar) const
inline
Returns
division of two vectors

Definition at line 51 of file Vector2.hpp.

◆ operator-() [2/2]

Vector2 Vector2::operator- ( ) const
inline
Returns
negation of vector

Definition at line 55 of file Vector2.hpp.

◆ Swizzled()

Vector2 Vector2::Swizzled ( ) const
inline
Returns
swizzled vector (x,y)->(y,x)

Definition at line 60 of file Vector2.hpp.

◆ Dot()

float Vector2::Dot ( const Vector2 & other) const
inline
Returns
dot product of two vectors

Definition at line 64 of file Vector2.hpp.

◆ Magnitude()

float Vector2::Magnitude ( ) const
inline
Returns
magnitude of vector

Definition at line 68 of file Vector2.hpp.

◆ Normalized()

Vector2 Vector2::Normalized ( ) const
inline
Returns
unit vector

Definition at line 72 of file Vector2.hpp.

◆ ToString()

std::string Vector2::ToString ( ) const
inline
Returns
string representation of vector

Definition at line 79 of file Vector2.hpp.

Member Data Documentation

◆ x

float Vector2::x

X Component.

Definition at line 13 of file Vector2.hpp.

◆ y

float Vector2::y

Y Component.

Definition at line 15 of file Vector2.hpp.