From 7b6688bb57fed5761617acda52ff1667e3f2e2cb Mon Sep 17 00:00:00 2001 From: elexis Date: Tue, 6 Feb 2018 22:52:53 +0000 Subject: [PATCH] Static Vector2D min and max. git-svn-id: https://svn.wildfiregames.com/public/ps/trunk@21129 3db68df2-c116-0410-a063-a993310a9797 --- binaries/data/mods/public/globalscripts/vector.js | 10 ++++++++++ .../mods/public/simulation/components/tests/test_Vector.js | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/binaries/data/mods/public/globalscripts/vector.js b/binaries/data/mods/public/globalscripts/vector.js index 38ea2b589d..f44ed39d31 100644 --- a/binaries/data/mods/public/globalscripts/vector.js +++ b/binaries/data/mods/public/globalscripts/vector.js @@ -209,6 +209,16 @@ Vector2D.div = function(v, f) return new Vector2D(v.x / f, v.y / f); }; +Vector2D.min = function(v1, v2) +{ + return new Vector2D(Math.min(v1.x, v2.x), Math.min(v1.y, v2.y)); +}; + +Vector2D.max = function(v1, v2) +{ + return new Vector2D(Math.max(v1.x, v2.x), Math.max(v1.y, v2.y)); +}; + Vector2D.average = function(vectorList) { return Vector2D.sum(vectorList).div(vectorList.length); diff --git a/binaries/data/mods/public/simulation/components/tests/test_Vector.js b/binaries/data/mods/public/simulation/components/tests/test_Vector.js index 0eb426a1ea..6b60cb32d6 100644 --- a/binaries/data/mods/public/simulation/components/tests/test_Vector.js +++ b/binaries/data/mods/public/simulation/components/tests/test_Vector.js @@ -160,6 +160,20 @@ var brokenVector = { TS_ASSERT_EQUALS(v3.angleTo(v2), -Math.PI / 4); } +// Test Vector2D min / max functions +{ + let v1 = new Vector2D(-1, 8); + let v2 = new Vector2D(-2, -1); + + let min = Vector2D.min(v1, v2) + TS_ASSERT_EQUALS(min.x, -2); + TS_ASSERT_EQUALS(min.y, -1); + + let max = Vector2D.max(v1, v2) + TS_ASSERT_EQUALS(max.x, -1); + TS_ASSERT_EQUALS(max.y, 8); +} + // Test Vector2D list functions { let list = [ -- 2.11.4.GIT