summaryrefslogtreecommitdiff
path: root/test/test-maths.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2025-02-09 15:18:35 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2025-02-09 15:18:35 +0000
commitecbb621171af0f20751bbc590453d00a7bd38320 (patch)
tree69717a9eb7fc452d2d95b977d6ff413258e7dcb4 /test/test-maths.cpp
parentInitial commit setting terrain during network construction (diff)
downloadilt-ecbb621171af0f20751bbc590453d00a7bd38320.tar.bz2
ilt-ecbb621171af0f20751bbc590453d00a7bd38320.tar.xz
ilt-ecbb621171af0f20751bbc590453d00a7bd38320.zip
Move lots of geoData helpers into lib
Diffstat (limited to 'test/test-maths.cpp')
-rw-r--r--test/test-maths.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test-maths.cpp b/test/test-maths.cpp
index 5906757..a6b780a 100644
--- a/test/test-maths.cpp
+++ b/test/test-maths.cpp
@@ -412,3 +412,28 @@ BOOST_DATA_TEST_CASE(arcline_intersection,
BOOST_CHECK_CLOSE(expected->second, intersection->second, 1.F);
}
}
+
+static_assert(pointLeftOfLine({1, 2}, {1, 1}, {2, 2}));
+static_assert(pointLeftOfLine({2, 1}, {2, 2}, {1, 1}));
+static_assert(pointLeftOfLine({2, 2}, {1, 2}, {2, 1}));
+static_assert(pointLeftOfLine({1, 1}, {2, 1}, {1, 2}));
+static_assert(pointLeftOfOrOnLine({310000000, 490000000}, {310000000, 490000000}, {310050000, 490050000}));
+static_assert(pointLeftOfOrOnLine({310000000, 490000000}, {310050000, 490050000}, {310000000, 490050000}));
+static_assert(pointLeftOfOrOnLine({310000000, 490000000}, {310000000, 490050000}, {310000000, 490000000}));
+
+static_assert(linesCross({1, 1}, {2, 2}, {1, 2}, {2, 1}));
+static_assert(linesCross({2, 2}, {1, 1}, {1, 2}, {2, 1}));
+
+static_assert(linesCrossLtR({1, 1}, {2, 2}, {1, 2}, {2, 1}));
+static_assert(!linesCrossLtR({2, 2}, {1, 1}, {1, 2}, {2, 1}));
+
+static_assert(Triangle<3, GlobalDistance> {{1, 2, 3}, {1, 0, 1}, {-2, 1, 0}}.positionOnPlane({7, -2})
+ == GlobalPosition3D {7, -2, 3});
+static_assert(Triangle<3, GlobalDistance> {
+ {310000000, 490000000, 32800}, {310050000, 490050000, 33000}, {310000000, 490050000, 32700}}
+ .positionOnPlane({310000000, 490000000})
+ == GlobalPosition3D {310000000, 490000000, 32800});
+static_assert(Triangle<3, GlobalDistance> {
+ {310750000, 490150000, 58400}, {310800000, 490200000, 55500}, {310750000, 490200000, 57600}}
+ .positionOnPlane({310751000, 490152000})
+ == GlobalPosition3D {310751000, 490152000, 58326});