From 120cab811f3bb8d254a3e204fca28d79fcd7d364 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Tue, 30 Jul 2019 18:48:05 +0200 Subject: [PATCH] Implement tuple -> vector conversions for double vectors. --- Robust.Shared.Maths/Vector2d.cs | 5 +++++ Robust.Shared.Maths/Vector3d.cs | 5 +++++ Robust.Shared.Maths/Vector4d.cs | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/Robust.Shared.Maths/Vector2d.cs b/Robust.Shared.Maths/Vector2d.cs index 20a9ea4ad..ccda884b4 100644 --- a/Robust.Shared.Maths/Vector2d.cs +++ b/Robust.Shared.Maths/Vector2d.cs @@ -22,6 +22,11 @@ namespace Robust.Shared.Maths y = Y; } + public static implicit operator Vector2d((double, double) tuple) + { + return new Vector2d(tuple.Item1, tuple.Item2); + } + public static implicit operator Vector2d(Vector2 vector) { return new Vector2d(vector.X, vector.Y); diff --git a/Robust.Shared.Maths/Vector3d.cs b/Robust.Shared.Maths/Vector3d.cs index 392d4fabd..2a580cc40 100644 --- a/Robust.Shared.Maths/Vector3d.cs +++ b/Robust.Shared.Maths/Vector3d.cs @@ -25,6 +25,11 @@ namespace Robust.Shared.Maths z = Z; } + public static implicit operator Vector3d((double, double, double) tuple) + { + return new Vector3d(tuple.Item1, tuple.Item2, tuple.Item3); + } + public static implicit operator Vector3d(Vector3 vector) { return new Vector3d(vector.X, vector.Y, vector.Z); diff --git a/Robust.Shared.Maths/Vector4d.cs b/Robust.Shared.Maths/Vector4d.cs index 746428518..f278fd672 100644 --- a/Robust.Shared.Maths/Vector4d.cs +++ b/Robust.Shared.Maths/Vector4d.cs @@ -28,6 +28,11 @@ namespace Robust.Shared.Maths w = W; } + public static implicit operator Vector4d((double, double, double, double) tuple) + { + return new Vector4d(tuple.Item1, tuple.Item2, tuple.Item3, tuple.Item4); + } + public static implicit operator Vector4d(Vector4 vector) { return new Vector4d(vector.X, vector.Y, vector.Z, vector.W);