#include #include #include #include #include TEST_CASE("hausdorff: knightVScheburashka", "[igl/copyleft/cgal]") { Eigen::MatrixXd VA,VB; Eigen::MatrixXi FA,FB; igl::read_triangle_mesh(test_common::data_path("decimated-knight.obj"), VA, FA); igl::read_triangle_mesh(test_common::data_path("cheburashka.off"), VB, FB); //typedef CGAL::Epeck Kernel; typedef CGAL::Simple_cartesian Kernel; CGAL::AABB_tree< CGAL::AABB_traits >::iterator > > > treeB; std::vector > TB; { igl::copyleft::cgal::point_mesh_squared_distance_precompute(VB,FB,treeB,TB); } std::vector U(5); for(int j = 0;j0) { igl::upsample(Eigen::MatrixXd(VA),Eigen::MatrixXi(FA),VA,FA); } const int m = FA.rows(); U[j].resize(m); for(int i = 0;i0&&i%4==3) { double u4 = std::numeric_limits::infinity(); for(int u = 0;u<4;u++) { u4 = std::min(u4,U[j](i-u)); } REQUIRE (U[j-1](i/4) >= u4); } } break; } }