summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2024-11-12 20:19:03 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2024-11-12 20:19:32 +0000
commitdbd181a9e49b3b32400eb812ff224074413d2ef4 (patch)
tree3473fa3ee7f3c4aa60fe48b8fbbbcc52dab2554a /test
parentThrow if input stream not in good state reading JSON (diff)
downloadilt-dbd181a9e49b3b32400eb812ff224074413d2ef4.tar.bz2
ilt-dbd181a9e49b3b32400eb812ff224074413d2ef4.tar.xz
ilt-dbd181a9e49b3b32400eb812ff224074413d2ef4.zip
Add linesIntersectAt function
2 dimensional line intersection point
Diffstat (limited to 'test')
-rw-r--r--test/test-maths.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/test-maths.cpp b/test/test-maths.cpp
index f7f34b3..b9d08bb 100644
--- a/test/test-maths.cpp
+++ b/test/test-maths.cpp
@@ -333,3 +333,11 @@ BOOST_DATA_TEST_CASE(rayLineDistance,
BOOST_CHECK_LE(Ray<RelativePosition3D>(c, direction).distanceToLine(n1, n2), 0.01F);
}
}
+
+static_assert(linesIntersectAt(glm::ivec2 {10, 10}, {40, 40}, {10, 80}, {20, 40}).value().x == 24);
+static_assert(linesIntersectAt(glm::vec2 {10, 10}, {40, 40}, {10, 80}, {20, 40}).value().y == 24);
+static_assert(linesIntersectAt(GlobalPosition2D {311000100, 491100100}, {311050000, 491150000}, {312000100, 491200100},
+ {311000100, 491100100})
+ .value()
+ == GlobalPosition2D {311000100, 491100100});
+static_assert(!linesIntersectAt(glm::dvec2 {0, 1}, {0, 4}, {1, 8}, {1, 4}).has_value());