diff options
Diffstat (limited to 'src/crepe/api/Vector2.cpp')
-rw-r--r-- | src/crepe/api/Vector2.cpp | 40 |
1 files changed, 6 insertions, 34 deletions
diff --git a/src/crepe/api/Vector2.cpp b/src/crepe/api/Vector2.cpp index 947c49e..30b968e 100644 --- a/src/crepe/api/Vector2.cpp +++ b/src/crepe/api/Vector2.cpp @@ -1,61 +1,33 @@ #include "Vector2.h" -namespace crepe { +using namespace crepe; -// Constructor with initial values -Vector2::Vector2(double x, double y) : x(x), y(y) {} +Vector2 Vector2::operator-(const Vector2 & other) const { return {x - other.x, y - other.y}; } -// Subtracts another vector from this vector and returns the result. -Vector2 Vector2::operator-(const Vector2 & other) const { - return {x - other.x, y - other.y}; -} +Vector2 Vector2::operator+(const Vector2 & other) const { return {x + other.x, y + other.y}; } -// Adds another vector to this vector and returns the result. -Vector2 Vector2::operator+(const Vector2 & other) const { - return {x + other.x, y + other.y}; -} +Vector2 Vector2::operator*(double scalar) const { return {x * scalar, y * scalar}; } -// Multiplies this vector by a scalar and returns the result. -Vector2 Vector2::operator*(double scalar) const { - return {x * scalar, y * scalar}; -} - -// Multiplies this vector by another vector element-wise and updates this vector. Vector2 & Vector2::operator*=(const Vector2 & other) { x *= other.x; y *= other.y; return *this; } -// Adds another vector to this vector and updates this vector. Vector2 & Vector2::operator+=(const Vector2 & other) { x += other.x; y += other.y; return *this; } -// Adds a scalar value to both components of this vector and updates this vector. Vector2 & Vector2::operator+=(double other) { x += other; y += other; return *this; } -// Returns the negation of this vector. Vector2 Vector2::operator-() const { return {-x, -y}; } -// Checks if this vector is equal to another vector. -bool Vector2::operator==(const Vector2 & other) const { - return x == other.x && y == other.y; -} - -// Checks if this vector is not equal to another vector. -bool Vector2::operator!=(const Vector2 & other) const { - return !(*this == other); -} - -double Vector2::dot(const Vector2& other) const { - return this->x * other.x + this->y * other.y; -} +bool Vector2::operator==(const Vector2 & other) const { return x == other.x && y == other.y; } -} // namespace crepe +bool Vector2::operator!=(const Vector2 & other) const { return !(*this == other); } |