From 59056f67da9b6bcc69608b8151abfe8a283003b7 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Thu, 30 Apr 1998 10:20:23 +0000 Subject: [PATCH] Fix problem when printing in ucd format: output each vertex's data only once. git-svn-id: https://svn.dealii.org/trunk@226 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/source/numerics/data_io.cc | 31 +++++++++++++++------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/deal.II/deal.II/source/numerics/data_io.cc b/deal.II/deal.II/source/numerics/data_io.cc index c689f85f5b..745abddca2 100644 --- a/deal.II/deal.II/source/numerics/data_io.cc +++ b/deal.II/deal.II/source/numerics/data_io.cc @@ -340,7 +340,7 @@ void DataOut::write_ucd (ostream &out) const { // if data given: write data, else // only write grid if (data.size() != 0) - { + { out << data.size() << " "; // number of vectors for (unsigned int i=0; i!=data.size(); ++i) out << 1 << ' '; // number of components; @@ -349,15 +349,28 @@ void DataOut::write_ucd (ostream &out) const { for (unsigned int i=0; i already_written (dofs->n_dofs(), false); + // write vertices for (cell=dofs->begin_active(); cell!=endc; ++cell) - for (unsigned int vertex=0; vertex<(1<vertex_dof_index(vertex,0) << " "; - for (unsigned int i=0; i!=data.size(); ++i) - out << (*data[i].data)(cell->vertex_dof_index(vertex,0)) << ' '; - out << endl; - }; + for (unsigned int vertex=0; vertex<(1<vertex_dof_index(vertex,0)]==false) + { + out << cell->vertex_dof_index(vertex,0) // vertex index + << " "; + for (unsigned int i=0; i!=data.size(); ++i) + out << (*data[i].data)(cell->vertex_dof_index(vertex,0)) << ' '; + out << endl; + + already_written[cell->vertex_dof_index(vertex,0)] = true; + }; }; // no cell data // no model data -- 2.39.5