Implement snappedi, snappedf, and Vector[2/3/4]i.snapped
This commit is contained in:
parent
a1bc636098
commit
e26f0906f2
18 changed files with 222 additions and 40 deletions
|
|
@ -39,6 +39,12 @@ Vector2i Vector2i::clamp(const Vector2i &p_min, const Vector2i &p_max) const {
|
|||
CLAMP(y, p_min.y, p_max.y));
|
||||
}
|
||||
|
||||
Vector2i Vector2i::snapped(const Vector2i &p_step) const {
|
||||
return Vector2i(
|
||||
Math::snapped(x, p_step.x),
|
||||
Math::snapped(y, p_step.y));
|
||||
}
|
||||
|
||||
int64_t Vector2i::length_squared() const {
|
||||
return x * (int64_t)x + y * (int64_t)y;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ struct _NO_DISCARD_ Vector2i {
|
|||
Vector2i sign() const { return Vector2i(SIGN(x), SIGN(y)); }
|
||||
Vector2i abs() const { return Vector2i(Math::abs(x), Math::abs(y)); }
|
||||
Vector2i clamp(const Vector2i &p_min, const Vector2i &p_max) const;
|
||||
Vector2i snapped(const Vector2i &p_step) const;
|
||||
|
||||
operator String() const;
|
||||
operator Vector2() const;
|
||||
|
|
|
|||
|
|
@ -48,6 +48,13 @@ Vector3i Vector3i::clamp(const Vector3i &p_min, const Vector3i &p_max) const {
|
|||
CLAMP(z, p_min.z, p_max.z));
|
||||
}
|
||||
|
||||
Vector3i Vector3i::snapped(const Vector3i &p_step) const {
|
||||
return Vector3i(
|
||||
Math::snapped(x, p_step.x),
|
||||
Math::snapped(y, p_step.y),
|
||||
Math::snapped(z, p_step.z));
|
||||
}
|
||||
|
||||
Vector3i::operator String() const {
|
||||
return "(" + itos(x) + ", " + itos(y) + ", " + itos(z) + ")";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ struct _NO_DISCARD_ Vector3i {
|
|||
_FORCE_INLINE_ Vector3i abs() const;
|
||||
_FORCE_INLINE_ Vector3i sign() const;
|
||||
Vector3i clamp(const Vector3i &p_min, const Vector3i &p_max) const;
|
||||
Vector3i snapped(const Vector3i &p_step) const;
|
||||
|
||||
/* Operators */
|
||||
|
||||
|
|
|
|||
|
|
@ -65,6 +65,14 @@ Vector4i Vector4i::clamp(const Vector4i &p_min, const Vector4i &p_max) const {
|
|||
CLAMP(w, p_min.w, p_max.w));
|
||||
}
|
||||
|
||||
Vector4i Vector4i::snapped(const Vector4i &p_step) const {
|
||||
return Vector4i(
|
||||
Math::snapped(x, p_step.x),
|
||||
Math::snapped(y, p_step.y),
|
||||
Math::snapped(z, p_step.z),
|
||||
Math::snapped(w, p_step.w));
|
||||
}
|
||||
|
||||
Vector4i::operator String() const {
|
||||
return "(" + itos(x) + ", " + itos(y) + ", " + itos(z) + ", " + itos(w) + ")";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ struct _NO_DISCARD_ Vector4i {
|
|||
_FORCE_INLINE_ Vector4i abs() const;
|
||||
_FORCE_INLINE_ Vector4i sign() const;
|
||||
Vector4i clamp(const Vector4i &p_min, const Vector4i &p_max) const;
|
||||
Vector4i snapped(const Vector4i &p_step) const;
|
||||
|
||||
/* Operators */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue