remesh_along_isoline.cpp 889 B

1234567891011121314151617181920212223242526272829303132
  1. #include <test_common.h>
  2. #include <igl/remesh_along_isoline.h>
  3. #include <igl/facet_components.h>
  4. #include <Eigen/Sparse>
  5. TEST_CASE("remesh_along_isoline: triangle_mesh", "[igl]")
  6. {
  7. Eigen::MatrixXd V;
  8. Eigen::MatrixXi F;
  9. //This is a cube of dimensions 1.0x1.0x1.0
  10. igl::read_triangle_mesh(test_common::data_path("cube.obj"), V, F);
  11. const double mean_z = V.col(2).mean();
  12. Eigen::VectorXi C;
  13. igl::facet_components(F, C);
  14. const int fc_count_before = C.maxCoeff();
  15. Eigen::VectorXd S = V.col(2);
  16. Eigen::MatrixXd U;
  17. Eigen::MatrixXi G;
  18. Eigen::VectorXd SU;
  19. Eigen::VectorXi J;
  20. Eigen::SparseMatrix<double> BC;
  21. Eigen::VectorXi L;
  22. igl::remesh_along_isoline(V,F,S,mean_z,U,G,SU,J,BC,L);
  23. igl::facet_components(G, C);
  24. const int fc_count_after = C.maxCoeff();
  25. // number of face connected components should not change
  26. REQUIRE(fc_count_before == fc_count_after);
  27. }