mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-29 08:17:59 +03:00
112 lines
2.3 KiB
C++
112 lines
2.3 KiB
C++
#include "framework.h"
|
|
#include "Math/Objects/Vector3i.h"
|
|
|
|
//namespace TEN::Math
|
|
//{
|
|
const Vector3i Vector3i::Zero = Vector3i(0, 0, 0);
|
|
|
|
Vector3i::Vector3i(const Vector3& vector)
|
|
{
|
|
x = (int)round(vector.x);
|
|
y = (int)round(vector.y);
|
|
z = (int)round(vector.z);
|
|
}
|
|
|
|
float Vector3i::Distance(const Vector3i& origin, const Vector3i& target)
|
|
{
|
|
return Vector3::Distance(origin.ToVector3(), target.ToVector3());
|
|
}
|
|
|
|
float Vector3i::DistanceSquared(const Vector3i& origin, const Vector3i& target)
|
|
{
|
|
return Vector3::DistanceSquared(origin.ToVector3(), target.ToVector3());
|
|
}
|
|
|
|
Vector3 Vector3i::ToVector3() const
|
|
{
|
|
return Vector3(x, y, z);
|
|
}
|
|
|
|
bool Vector3i::operator ==(const Vector3i& vector) const
|
|
{
|
|
return ((x == vector.x) && (y == vector.y) && (z == vector.z));
|
|
}
|
|
|
|
bool Vector3i::operator !=(const Vector3i& vector) const
|
|
{
|
|
return !(*this == vector);
|
|
}
|
|
|
|
Vector3i& Vector3i::operator =(const Vector3i& vector)
|
|
{
|
|
x = vector.x;
|
|
y = vector.y;
|
|
z = vector.z;
|
|
return *this;
|
|
}
|
|
|
|
Vector3i& Vector3i::operator +=(const Vector3i& vector)
|
|
{
|
|
x += vector.x;
|
|
y += vector.y;
|
|
z += vector.z;
|
|
return *this;
|
|
}
|
|
|
|
Vector3i& Vector3i::operator -=(const Vector3i& vector)
|
|
{
|
|
x -= vector.x;
|
|
y -= vector.y;
|
|
z -= vector.z;
|
|
return *this;
|
|
}
|
|
|
|
Vector3i& Vector3i::operator *=(const Vector3i& vector)
|
|
{
|
|
x *= vector.x;
|
|
y *= vector.y;
|
|
z *= vector.z;
|
|
return *this;
|
|
}
|
|
|
|
Vector3i& Vector3i::operator *=(float scalar)
|
|
{
|
|
x *= scalar;
|
|
y *= scalar;
|
|
z *= scalar;
|
|
return *this;
|
|
}
|
|
|
|
Vector3i& Vector3i::operator /=(float scalar)
|
|
{
|
|
x /= scalar;
|
|
y /= scalar;
|
|
z /= scalar;
|
|
return *this;
|
|
}
|
|
|
|
Vector3i Vector3i::operator +(const Vector3i& vector) const
|
|
{
|
|
return Vector3i(x + vector.x, y + vector.y, z + vector.z);
|
|
}
|
|
|
|
Vector3i Vector3i::operator -(const Vector3i& vector) const
|
|
{
|
|
return Vector3i(x - vector.x, y - vector.y, z - vector.z);
|
|
}
|
|
|
|
Vector3i Vector3i::operator *(const Vector3i& vector) const
|
|
{
|
|
return Vector3i(x * vector.x, y * vector.y, z * vector.z);
|
|
}
|
|
|
|
Vector3i Vector3i::operator *(float scalar) const
|
|
{
|
|
return Vector3i((int)round(x * scalar), (int)round(y * scalar), (int)round(z * scalar));
|
|
}
|
|
|
|
Vector3i Vector3i::operator /(float scalar) const
|
|
{
|
|
return Vector3i((int)round(x / scalar), (int)round(y / scalar), (int)round(z / scalar));
|
|
}
|
|
//}
|