triangulated_grid.cpp 587 B

1234567891011121314151617181920212223
  1. #include <test_common.h>
  2. #include <igl/triangulated_grid.h>
  3. #include <igl/doublearea.h>
  4. TEST(triangulated_grid,area)
  5. {
  6. Eigen::MatrixXd V;
  7. Eigen::MatrixXi F;
  8. const int nx = 4;
  9. const int ny = 7;
  10. igl::triangulated_grid(nx,ny,V,F);
  11. ASSERT_EQ(V.rows(),nx*ny);
  12. ASSERT_EQ(F.rows(),2*(nx-1)*(ny-1));
  13. Eigen::VectorXd dblA;
  14. igl::doublearea(V,F,dblA);
  15. ASSERT_NEAR(dblA.array().sum(),2.0,1e-10);
  16. const Eigen::VectorXd dblAgt =
  17. Eigen::VectorXd::Constant(
  18. 2*(nx-1)*(ny-1),
  19. 1,
  20. 2.0/double(2*(nx-1)*(ny-1)));
  21. test_common::assert_near(dblA,dblAgt,1e-10);
  22. }