made a lot of changes, to get the render pipeline working
This commit is contained in:
138
TSE_Math/src/Vector2i.cpp
Normal file
138
TSE_Math/src/Vector2i.cpp
Normal file
@@ -0,0 +1,138 @@
|
||||
#include "Vector2i.hpp"
|
||||
#include "Vector2.hpp"
|
||||
#include "Vector3.hpp"
|
||||
#include "Vector4.hpp"
|
||||
#include <cmath>
|
||||
|
||||
TSE::Vector2i::Vector2i() { }
|
||||
|
||||
TSE::Vector2i::Vector2i(int _x, int _y)
|
||||
{
|
||||
x = _x;
|
||||
y = _y;
|
||||
}
|
||||
|
||||
TSE::Vector2i::Vector2i(const Vector2i &other)
|
||||
{
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
}
|
||||
|
||||
TSE::Vector2i::Vector2i(const Vector2 &other)
|
||||
{
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
}
|
||||
|
||||
TSE::Vector2i::Vector2i(const Vector3 &other)
|
||||
{
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
}
|
||||
|
||||
TSE::Vector2i::Vector2i(const Vector4 &other)
|
||||
{
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
}
|
||||
|
||||
bool TSE::Vector2i::IsValid() const
|
||||
{
|
||||
return !std::isnan(x) && !std::isnan(y);
|
||||
}
|
||||
|
||||
TSE::string TSE::Vector2i::ToString() const
|
||||
{
|
||||
return "(" + std::to_string(x) + "|" + std::to_string(y) + ")";
|
||||
}
|
||||
|
||||
TSE::Vector2 TSE::Vector2i::ToVector2() const
|
||||
{
|
||||
return Vector2();
|
||||
}
|
||||
|
||||
TSE::Vector3 TSE::Vector2i::ToVector3() const
|
||||
{
|
||||
return Vector3(x,y,0);
|
||||
}
|
||||
|
||||
TSE::Vector4 TSE::Vector2i::ToVector4() const
|
||||
{
|
||||
return Vector4(x,y,0,0);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator+(const Vector2i &other) const
|
||||
{
|
||||
return Vector2i(x + other.x, y + other.y);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator+=(const Vector2i &other)
|
||||
{
|
||||
*this = *this + other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator-(const Vector2i &other) const
|
||||
{
|
||||
return Vector2i(x - other.x, y - other.y);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator-=(const Vector2i &other)
|
||||
{
|
||||
*this = *this - other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator*(const Vector2i &other) const
|
||||
{
|
||||
return Vector2i(x * other.x, y * other.y);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator*=(const Vector2i &other)
|
||||
{
|
||||
*this = *this * other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator/(const Vector2i &other) const
|
||||
{
|
||||
return Vector2i(x / other.x, y / other.y);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator/=(const Vector2i &other)
|
||||
{
|
||||
*this = *this / other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator*(const float other) const
|
||||
{
|
||||
return Vector2i(x * other, y * other);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator*=(const float other)
|
||||
{
|
||||
*this = *this * other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator/(const float other) const
|
||||
{
|
||||
return Vector2i(x / other, y / other);
|
||||
}
|
||||
|
||||
TSE::Vector2i TSE::Vector2i::operator/=(const float other)
|
||||
{
|
||||
*this = *this / other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool TSE::Vector2i::operator==(const Vector2i &other) const
|
||||
{
|
||||
return x == other.x && y == other.y;
|
||||
}
|
||||
|
||||
bool TSE::Vector2i::operator!=(const Vector2i &other) const
|
||||
{
|
||||
return !(*this == other);
|
||||
}
|
||||
Reference in New Issue
Block a user