| 123 | } |
| 124 | |
| 125 | void MSHWriter::write_volume_mesh(Mesh& mesh) { |
| 126 | MshSaver saver(m_filename, !m_in_ascii); |
| 127 | |
| 128 | size_t dim = mesh.get_dim(); |
| 129 | size_t num_vertices = mesh.get_num_vertices(); |
| 130 | size_t num_voxels = mesh.get_num_voxels(); |
| 131 | size_t vertex_per_voxel = mesh.get_vertex_per_voxel(); |
| 132 | |
| 133 | saver.save_mesh(mesh.get_vertices(), mesh.get_voxels(), dim, |
| 134 | get_voxel_type(vertex_per_voxel)); |
| 135 | |
| 136 | for (AttrNames::const_iterator itr = m_attr_names.begin(); |
| 137 | itr != m_attr_names.end(); itr++) { |
| 138 | if (!mesh.has_attribute(*itr)) { |
| 139 | std::cerr << "Error: Attribute \"" << *itr<< "\" does not exist." |
| 140 | << std::endl; |
| 141 | continue; |
| 142 | } |
| 143 | |
| 144 | VectorF& attr = mesh.get_attribute(*itr); |
| 145 | write_attribute(saver, *itr, attr, dim, num_vertices, num_voxels); |
| 146 | } |
| 147 | } |
| 148 | |
| 149 | void MSHWriter::write_attribute(MshSaver& saver, const std::string& name, |
| 150 | VectorF& value, size_t dim, size_t num_vertices, size_t num_elements) { |
nothing calls this directly
no test coverage detected