Inline some very common Vector2 operations
This commit is contained in:
parent
32d8b99bc3
commit
517227943f
2 changed files with 64 additions and 63 deletions
|
@ -102,69 +102,6 @@ Vector2 Vector2::cross(real_t p_other) const {
|
|||
return Vector2(p_other * y, -p_other * x);
|
||||
}
|
||||
|
||||
Vector2 Vector2::operator+(const Vector2 &p_v) const {
|
||||
|
||||
return Vector2(x + p_v.x, y + p_v.y);
|
||||
}
|
||||
void Vector2::operator+=(const Vector2 &p_v) {
|
||||
|
||||
x += p_v.x;
|
||||
y += p_v.y;
|
||||
}
|
||||
Vector2 Vector2::operator-(const Vector2 &p_v) const {
|
||||
|
||||
return Vector2(x - p_v.x, y - p_v.y);
|
||||
}
|
||||
void Vector2::operator-=(const Vector2 &p_v) {
|
||||
|
||||
x -= p_v.x;
|
||||
y -= p_v.y;
|
||||
}
|
||||
|
||||
Vector2 Vector2::operator*(const Vector2 &p_v1) const {
|
||||
|
||||
return Vector2(x * p_v1.x, y * p_v1.y);
|
||||
};
|
||||
|
||||
Vector2 Vector2::operator*(const real_t &rvalue) const {
|
||||
|
||||
return Vector2(x * rvalue, y * rvalue);
|
||||
};
|
||||
void Vector2::operator*=(const real_t &rvalue) {
|
||||
|
||||
x *= rvalue;
|
||||
y *= rvalue;
|
||||
};
|
||||
|
||||
Vector2 Vector2::operator/(const Vector2 &p_v1) const {
|
||||
|
||||
return Vector2(x / p_v1.x, y / p_v1.y);
|
||||
};
|
||||
|
||||
Vector2 Vector2::operator/(const real_t &rvalue) const {
|
||||
|
||||
return Vector2(x / rvalue, y / rvalue);
|
||||
};
|
||||
|
||||
void Vector2::operator/=(const real_t &rvalue) {
|
||||
|
||||
x /= rvalue;
|
||||
y /= rvalue;
|
||||
};
|
||||
|
||||
Vector2 Vector2::operator-() const {
|
||||
|
||||
return Vector2(-x, -y);
|
||||
}
|
||||
|
||||
bool Vector2::operator==(const Vector2 &p_vec2) const {
|
||||
|
||||
return x == p_vec2.x && y == p_vec2.y;
|
||||
}
|
||||
bool Vector2::operator!=(const Vector2 &p_vec2) const {
|
||||
|
||||
return x != p_vec2.x || y != p_vec2.y;
|
||||
}
|
||||
Vector2 Vector2::floor() const {
|
||||
|
||||
return Vector2(Math::floor(x), Math::floor(y));
|
||||
|
|
|
@ -187,6 +187,70 @@ _FORCE_INLINE_ Vector2 operator*(real_t p_scalar, const Vector2 &p_vec) {
|
|||
return p_vec * p_scalar;
|
||||
}
|
||||
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator+(const Vector2 &p_v) const {
|
||||
|
||||
return Vector2(x + p_v.x, y + p_v.y);
|
||||
}
|
||||
_FORCE_INLINE_ void Vector2::operator+=(const Vector2 &p_v) {
|
||||
|
||||
x += p_v.x;
|
||||
y += p_v.y;
|
||||
}
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator-(const Vector2 &p_v) const {
|
||||
|
||||
return Vector2(x - p_v.x, y - p_v.y);
|
||||
}
|
||||
_FORCE_INLINE_ void Vector2::operator-=(const Vector2 &p_v) {
|
||||
|
||||
x -= p_v.x;
|
||||
y -= p_v.y;
|
||||
}
|
||||
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator*(const Vector2 &p_v1) const {
|
||||
|
||||
return Vector2(x * p_v1.x, y * p_v1.y);
|
||||
};
|
||||
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator*(const real_t &rvalue) const {
|
||||
|
||||
return Vector2(x * rvalue, y * rvalue);
|
||||
};
|
||||
_FORCE_INLINE_ void Vector2::operator*=(const real_t &rvalue) {
|
||||
|
||||
x *= rvalue;
|
||||
y *= rvalue;
|
||||
};
|
||||
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator/(const Vector2 &p_v1) const {
|
||||
|
||||
return Vector2(x / p_v1.x, y / p_v1.y);
|
||||
};
|
||||
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator/(const real_t &rvalue) const {
|
||||
|
||||
return Vector2(x / rvalue, y / rvalue);
|
||||
};
|
||||
|
||||
_FORCE_INLINE_ void Vector2::operator/=(const real_t &rvalue) {
|
||||
|
||||
x /= rvalue;
|
||||
y /= rvalue;
|
||||
};
|
||||
|
||||
_FORCE_INLINE_ Vector2 Vector2::operator-() const {
|
||||
|
||||
return Vector2(-x, -y);
|
||||
}
|
||||
|
||||
_FORCE_INLINE_ bool Vector2::operator==(const Vector2 &p_vec2) const {
|
||||
|
||||
return x == p_vec2.x && y == p_vec2.y;
|
||||
}
|
||||
_FORCE_INLINE_ bool Vector2::operator!=(const Vector2 &p_vec2) const {
|
||||
|
||||
return x != p_vec2.x || y != p_vec2.y;
|
||||
}
|
||||
|
||||
Vector2 Vector2::linear_interpolate(const Vector2 &p_b, real_t p_t) const {
|
||||
|
||||
Vector2 res = *this;
|
||||
|
|
Loading…
Reference in a new issue