delaunay_triangulation.cpp 742 B

1234567891011121314151617181920212223242526
  1. #include <test_common.h>
  2. #include <igl/copyleft/cgal/delaunay_triangulation.h>
  3. #include <igl/unique_simplices.h>
  4. #include <igl/matlab_format.h>
  5. TEST_CASE("igl_copyleft_cgal_delaunay_triangulation: two_triangles", "[igl/copyleft/cgal]")
  6. {
  7. const Eigen::MatrixXd V =
  8. (Eigen::MatrixXd(4,2)<<
  9. 0,10,
  10. 1,0,
  11. 1,20,
  12. 2,10).finished();
  13. Eigen::MatrixXi F;
  14. igl::copyleft::cgal::delaunay_triangulation(V,F);
  15. // Ground truth
  16. Eigen::MatrixXi Fgt = (Eigen::MatrixXi(2,3)<<0,1,3,0,3,2).finished();
  17. REQUIRE (2 == F.rows());
  18. Eigen::MatrixXi Fu;
  19. Eigen::VectorXi IA,IC;
  20. igl::unique_simplices(
  21. (Eigen::MatrixXi(4,3)<<F,Fgt).finished(),
  22. Fu,IA,IC);
  23. // Now new faces w.r.t. ground truth
  24. REQUIRE (2 == Fu.rows());
  25. }