#include #include #include #include TEST_CASE("readOBJ: simple", "[igl]") { Eigen::MatrixXd V; Eigen::MatrixXi F; // wait... so this is actually testing test_common::load_mesh not readOBJ // directly... test_common::load_mesh("cube.obj", V, F); REQUIRE (V.rows() == 8); REQUIRE (F.rows() == 12); } TEST_CASE("readOBJ: Obj with material", "[igl]") { std::vector > V; std::vector > TC; std::vector > N; std::vector > F; std::vector > FTC; std::vector > FN; std::vector> FM; test_common::load_obj_with_material("cubewithmaterial.obj", V, TC, N, F, FTC, FN, FM); REQUIRE (V.size() == 8); REQUIRE (F.size() == 6); for ( const auto& i : FM ) { std::cout << "material "; std::cout << std::get<0>(i) << ' '; std::cout << "fstart "; std::cout << std::get<1>(i) << ' '; std::cout << "fend "; std::cout << std::get<2>(i) << ' '; std::cout << std::endl; } REQUIRE (FM.size() == 2); }