1234567891011121314151617181920212223242526272829 |
- #include "../Tests.hpp"
- #include "core/Plane.hpp"
- #include "core/Test.hpp"
- static const float eps = 0.0001f;
- using V3 = Core::Vector3;
- static void testToString() {
- Core::Plane p(V3(3, 6, 8), V3(7, 6, 2), V3(4, 4, 4));
- TEST_STRING("(-0.684 x + 0.570 y + -0.456 z + 2.279)", p);
- TEST_STRING("(0.000 x + 0.000 y + 0.000 z + 0.000)", Core::Plane());
- }
- static void testSignedDistance() {
- V3 a(3, 6, 8);
- V3 b(7, 6, 2);
- V3 c(4, 4, 4);
- Core::Plane p(a, b, c);
- TEST_FLOAT(0.0f, p.signedDistance(a), eps);
- TEST_FLOAT(0.0f, p.signedDistance(b), eps);
- TEST_FLOAT(0.0f, p.signedDistance(c), eps);
- TEST_FLOAT(-1.13960576f, p.signedDistance(V3(5, 8, 10)), eps);
- TEST_FLOAT(0.911684612f, p.signedDistance(V3(3, 2, 1)), eps);
- }
- void testPlane() {
- testToString();
- testSignedDistance();
- }
|