| 25 | }; |
| 26 | |
| 27 | TEST_F(DegeneratedTriangleRemovalTest, no_degeneracy) { |
| 28 | MeshPtr mesh = load_mesh("cube.msh"); |
| 29 | const size_t dim = 3; |
| 30 | const size_t num_vertices = mesh->get_num_vertices(); |
| 31 | const size_t num_faces = mesh->get_num_faces(); |
| 32 | const size_t vertex_per_face = mesh->get_vertex_per_face(); |
| 33 | |
| 34 | MatrixFr vertices = Eigen::Map<MatrixFr>( |
| 35 | mesh->get_vertices().data(), num_vertices, dim); |
| 36 | MatrixIr faces = Eigen::Map<MatrixIr>( |
| 37 | mesh->get_faces().data(), num_faces, vertex_per_face); |
| 38 | |
| 39 | DegeneratedTriangleRemoval remover(vertices, faces); |
| 40 | remover.run(); |
| 41 | |
| 42 | MatrixFr result_vertices = remover.get_vertices(); |
| 43 | MatrixIr result_faces = remover.get_faces(); |
| 44 | VectorI ori_face_indices = remover.get_ori_face_indices(); |
| 45 | |
| 46 | ASSERT_MATRIX_EQ(vertices, result_vertices); |
| 47 | ASSERT_MATRIX_EQ(faces, result_faces); |
| 48 | assert_no_degeneracy(result_vertices, result_faces); |
| 49 | ASSERT_EQ(0, ori_face_indices.minCoeff()); |
| 50 | ASSERT_EQ(num_faces-1, ori_face_indices.maxCoeff()); |
| 51 | } |
| 52 | |
| 53 | TEST_F(DegeneratedTriangleRemovalTest, simple) { |
| 54 | MatrixFr vertices(4, 3); |
nothing calls this directly
no test coverage detected