diff --git a/test/geometry/CMakeLists.txt b/test/geometry/CMakeLists.txt index 5e5c273e27c52f628e79f3052dc7226dc1f5305e..190b3cd3ba246009cd3ef104ba0e49d38c64f34c 100644 --- a/test/geometry/CMakeLists.txt +++ b/test/geometry/CMakeLists.txt @@ -1,5 +1,5 @@ add_subdirectory(boundingboxtree) - +set(CMAKE_BUILD_TYPE Debug) dumux_add_test(SOURCES test_0d1d_intersection.cc LABELS unit) dumux_add_test(SOURCES test_0d2d_intersection.cc LABELS unit) dumux_add_test(SOURCES test_0d3d_intersection.cc LABELS unit) diff --git a/test/geometry/test_distance.cc b/test/geometry/test_distance.cc index 76215eddd677f55c2e4e3f54095582d2fddc6465..750e7ce9c07fe5b88b79a99f5f14add483e6ff5a 100644 --- a/test/geometry/test_distance.cc +++ b/test/geometry/test_distance.cc @@ -139,6 +139,16 @@ void checkDistanceField(const std::vector<Geometry>& geometries, if (Dune::FloatCmp::ne(d, d2) || idx != idx2) DUNE_THROW(Dune::InvalidStateException, "Distance field using bounding spheres does" "not return same result as without bounding spheres"); + + + AABBDistanceField<Geometry> distanceFieldAABB(geometries); + const auto [d3, idx3] = distanceFieldAABB.distanceAndIndex(p); + + if (Dune::FloatCmp::ne(d, d3) || idx != idx3) + DUNE_THROW(Dune::InvalidStateException, + "Distance field using AABB tree does" + "not return same result as other distance fields -> " + "expected (" << d << ", " << idx << ") got (" << d3 << ", " << idx3 << ")"); } // checks the distances between various points with points/segments/lines