diff --git a/Mesh_3/include/CGAL/IO/output_to_vtu.h b/Mesh_3/include/CGAL/IO/output_to_vtu.h index 1b4b8ba9e15..020faeb33b7 100644 --- a/Mesh_3/include/CGAL/IO/output_to_vtu.h +++ b/Mesh_3/include/CGAL/IO/output_to_vtu.h @@ -124,8 +124,7 @@ template void write_cells(std::ostream& os, const C3T3 & c3t3, - std::map & V, - std::vector& mids) + std::map & V) { typedef typename C3T3::Cells_in_complex_iterator Cell_iterator; std::vector connectivity_table; @@ -140,7 +139,6 @@ write_cells(std::ostream& os, offsets.push_back(off); for (int i=0; i<4; i++) connectivity_table.push_back(V[cit->vertex(i)]); - mids.push_back(cit->subdomain_index()); } write_vector(os,connectivity_table); write_vector(os,offsets); @@ -294,7 +292,15 @@ void output_to_vtu(std::ostream& os, const bool binary = (mode == IO::BINARY); write_c3t3_points_tag(os,tr,number_of_vertices,V,binary,offset); write_cells_tag(os,c3t3,V,binary,offset); // fills V if the mode is ASCII - std::vector mids; + + std::vector mids; + mids.reserve(c3t3.number_of_cells_in_complex()); + for( typename C3T3::Cell_iterator cit = c3t3.cells_in_complex_begin() ; + cit != c3t3.cells_in_complex_end() ; + ++cit ) { + mids.push_back(cit->subdomain_index()); + } + os << " \n"; write_attribute_tag(os,"MeshDomain",mids,binary,offset); @@ -304,7 +310,7 @@ void output_to_vtu(std::ostream& os, if (binary) { os << "\n_"; write_c3t3_points(os,tr,V); // fills V if the mode is BINARY - write_cells(os,c3t3,V, mids); + write_cells(os,c3t3,V); write_attributes(os,mids); } os << "\n";