26 throw std::invalid_argument(
"Null mesh given");
28 throw std::invalid_argument(
"No filename given");
35 std::ofstream out(filename.c_str(), std::ios::binary);
39 out <<
"Translate 0 0 0" << std::endl;
40 out <<
"Shape \"trianglemesh\"" << std::endl;
43 out <<
"\"point P\" [" << std::endl;
44 for (std::size_t i = 0; i < verts.size(); ++i)
49 << verts[i][2] << std::endl;
51 out <<
"]" << std::endl << std::endl;
54 if (vnormals.size() == verts.size())
56 out <<
"\"normal N\" [" << std::endl;
57 for (std::size_t i = 0; i < vnormals.size(); ++i)
60 << vnormals[i][0] <<
" "
61 << vnormals[i][1] <<
" "
62 << vnormals[i][2] << std::endl;
64 out <<
"]" << std::endl << std::endl;
68 out <<
"\"integer indices\" [" << std::endl;
69 for (std::size_t i = 0 ; i < faces.size() ; ++i)
79 out <<
"]" << std::endl;