87 [[nodiscard]]
float Dot(
const Vector2& other)
const;
107 [[nodiscard]]
float Major()
const;
138 [[nodiscard]] std::string
ToString()
const;
162 return { 0.0f, 0.0f };
Definition BroadPhaseGrid.hpp:18
std::ostream & operator<<(std::ostream &os, const Manifold &manifold)
Definition Manifold.cpp:28
A struct representing a 2D Vector.
Definition Vector2.hpp:21
Vector2 operator*=(float scalar)
Definition Vector2.cpp:148
Vector2 operator-=(const Vector2 &other)
Definition Vector2.cpp:127
float Major() const
Gets the biggest component of this vector.
Definition Vector2.cpp:70
float Magnitude() const
Gets the magnitude of this vector.
Definition Vector2.cpp:10
float SqrMagnitude() const
Gets the squared magnitude of this vector. It is faster that Magnitude, so it should be used for size...
Definition Vector2.cpp:15
Vector2 PositivePerpendicular() const
Computes the perpendicular vector in +90 degrees.
Definition Vector2.cpp:79
void RotateAround(const Vector2 ¢er, float angle)
Rotates this vector around the provided axis.
Definition Vector2.cpp:94
float Distance(const Vector2 &other) const
Computes the distance between this and other.
Definition Vector2.cpp:59
static constexpr Vector2 Zero()
Definition Vector2.hpp:160
bool operator==(const Vector2 &other) const
Definition Vector2.cpp:162
friend Vector2 operator*(Vector2 vec, float scalar)
Definition Vector2.cpp:188
float x
The X component of the 2D Vector.
Definition Vector2.hpp:33
Vector2 operator/=(float scalar)
Definition Vector2.cpp:155
Vector2 operator-() const
Definition Vector2.cpp:167
Vector2 Normalized() const
Gets this vector normalized.
Definition Vector2.cpp:42
std::string ToString() const
Gets a string representing this vector.
Definition Vector2.cpp:103
float Dot(const Vector2 &other) const
Computes the dot product between this and other.
Definition Vector2.cpp:54
constexpr Vector2()
Definition Vector2.hpp:22
float Angle(const Vector2 &other) const
Computes the angle between this and other.
Definition Vector2.cpp:65
float y
The Y component of the 2D Vector.
Definition Vector2.hpp:37
friend Vector2 operator+(Vector2 vec, float scalar)
Definition Vector2.cpp:178
constexpr Vector2(const float x, const float y)
Definition Vector2.hpp:26
friend Vector2 operator/(Vector2 vec, float scalar)
Definition Vector2.cpp:198
Vector2 NegativePerpendicular() const
Computes the perpendicular vector in -90 degrees.
Definition Vector2.cpp:84
Vector2 NewMagnitude(float newMagnitude) const
Sets the magnitude of this vector.
Definition Vector2.cpp:89
static Vector2 Normalize(const Vector2 &v)
Normalizes the given vector.
Definition Vector2.cpp:20
static Vector2 Lerp(const Vector2 &a, const Vector2 &b, float t)
Linearly interpolates between A and B.
Definition Vector2.cpp:25
Vector2 operator+=(const Vector2 &other)
Definition Vector2.cpp:120
static Vector2 TripleProduct(const Vector2 &a, const Vector2 &b, const Vector2 &c)
Compute the triple product with all of these vectors as 3d vectors with z = 0. p = a x (b x c)
Definition Vector2.cpp:34