diff --git a/src/common/utility/vectors.h b/src/common/utility/vectors.h index 6b82cc5cb..bfe692286 100644 --- a/src/common/utility/vectors.h +++ b/src/common/utility/vectors.h @@ -98,6 +98,11 @@ struct TVector2 { } + template + explicit operator TVector2 () const noexcept { + return TVector2(static_cast(X), static_cast(Y)); + } + void Zero() { Y = X = 0; @@ -375,6 +380,11 @@ struct TVector3 } TVector3 (const TRotator &rot); + + template + explicit operator TVector3 () const noexcept { + return TVector3(static_cast(X), static_cast(Y), static_cast(Z)); + } void Zero() { @@ -738,6 +748,11 @@ struct TVector4 { } + template + explicit operator TVector4 () const noexcept { + return TVector4(static_cast(X), static_cast(Y), static_cast(Z), static_cast(W)); + } + void Zero() { Z = Y = X = W = 0;