Skip to content
Snippets Groups Projects
Commit 352cdbcf authored by Philip Trettner's avatar Philip Trettner
Browse files

fixed obj export for non-compact meshes

parent 57ca2e57
Branches
No related tags found
No related merge requests found
html
latex
doxygen
\ No newline at end of file
doxygen
_build
\ No newline at end of file
......@@ -51,13 +51,13 @@ bool load(std::string const& filename, Mesh& m, vertex_attribute<Pos3>& pos)
{
auto tmp_pos = m.vertices().make_attribute<std::array<float, 3>>();
ok = detail::load<float>(filename, m, tmp_pos);
std::memcpy(pos.data(), tmp_pos.data(), sizeof(Pos3) * m.vertices().size());
std::memcpy(pos.data(), tmp_pos.data(), sizeof(Pos3) * m.all_vertices().size());
}
else
{
auto tmp_pos = m.vertices().make_attribute<std::array<double, 3>>();
ok = detail::load<double>(filename, m, tmp_pos);
std::memcpy(pos.data(), tmp_pos.data(), sizeof(Pos3) * m.vertices().size());
std::memcpy(pos.data(), tmp_pos.data(), sizeof(Pos3) * m.all_vertices().size());
}
return ok;
......@@ -72,13 +72,13 @@ void save(std::string const& filename, vertex_attribute<Pos3> const& pos)
if (sizeof(Pos3) == sizeof(float) * 3)
{
auto tmp_pos = m.vertices().template make_attribute<std::array<float, 3>>();
std::memcpy(tmp_pos.data(), pos.data(), sizeof(Pos3) * m.vertices().size());
std::memcpy(tmp_pos.data(), pos.data(), sizeof(Pos3) * m.all_vertices().size());
detail::save<float>(filename, tmp_pos);
}
else
{
auto tmp_pos = m.vertices().template make_attribute<std::array<double, 3>>();
std::memcpy(tmp_pos.data(), pos.data(), sizeof(Pos3) * m.vertices().size());
std::memcpy(tmp_pos.data(), pos.data(), sizeof(Pos3) * m.all_vertices().size());
detail::save<double>(filename, tmp_pos);
}
}
......
......@@ -94,8 +94,8 @@ void obj_writer<ScalarT>::write_mesh(vertex_attribute<std::array<ScalarT, 3>> co
*out << base_t + i;
if (normal)
{
*out << base_n + i;
*out << "/";
*out << base_n + i;
}
}
*out << "\n";
......@@ -151,8 +151,8 @@ void obj_writer<ScalarT>::write_mesh(vertex_attribute<std::array<ScalarT, 4>> co
*out << base_t + hi;
if (normal)
{
*out << base_n + hi;
*out << "/";
*out << base_n + hi;
}
}
*out << "\n";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment