From dc3096b2ce949d9dbae5ab3f189cd3d61900301c Mon Sep 17 00:00:00 2001 From: Pietro Incardona <incardon@mpi-cbg.de> Date: Fri, 4 Sep 2015 00:23:56 +0200 Subject: [PATCH] Adding properties name --- src/VTKWriter_grids_st.hpp | 41 ++++++++++++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/src/VTKWriter_grids_st.hpp b/src/VTKWriter_grids_st.hpp index 5c066fa..090f692 100644 --- a/src/VTKWriter_grids_st.hpp +++ b/src/VTKWriter_grids_st.hpp @@ -188,12 +188,39 @@ class VTKWriter<pair,VECTOR_ST_GRIDS> return v_out.str(); } + /* \brief Get the properties components + * + * \return the components printed + * + */ + std::string get_prop_components(size_t k) + { + std::stringstream v_out; + + //! For each sub-domain + for (size_t i = 0 ; i < vg.size() ; i++) + { + // For each position in the cell + for (size_t j = 0 ; j < vg.get(i).g.size() ; j++) + { + if (k < vg.get(i).g.get(j).grids.size()) + { + // get the combination string + v_out << vg.get(i).g.get(j).cmb.to_string(); + } + } + } + + return v_out.str(); + } + /*! \brief Create the VTK properties output * * \param k component + * \param prop property name * */ - std::string get_properties_output(size_t k) + std::string get_properties_output(size_t k, std::string prop_name) { //! vertex node output string std::stringstream v_out; @@ -212,8 +239,10 @@ class VTKWriter<pair,VECTOR_ST_GRIDS> return ""; } + std::string prp_cp = get_prop_components(k); + // Create point data properties - v_out << "SCALARS " << "attr" << k << " " << type + "\n"; + v_out << "SCALARS " << prop_name << "_" << prp_cp << " " << type + "\n"; // Default lookup table v_out << "LOOKUP_TABLE default\n"; @@ -462,12 +491,12 @@ public: * \tparam prp_out which properties to output [default = -1 (all)] * * \param file path where to write - * \param name of the set of grids + * \param g_name of the set of grids * \param file_type specify if it is a VTK BINARY or ASCII file [default = ASCII] * */ - template<int prp = -1> bool write(std::string file, std::string f_name = "grids" , file_type ft = file_type::ASCII) + template<int prp = -1> bool write(std::string file, std::string g_name = "grids" , file_type ft = file_type::ASCII) { // Header for the vtk std::string vtk_header; @@ -488,7 +517,7 @@ public: // VTK header vtk_header = "# vtk DataFile Version 3.0\n" - + f_name + "\n"; + + g_name + "\n"; // Choose if binary or ASCII if (ft == file_type::ASCII) @@ -519,7 +548,7 @@ public: // For each property in the vertex type produce a point data for (size_t i = 0 ; i < mf ; i++) - point_data += get_properties_output(i); + point_data += get_properties_output(i,g_name); lastProp(); -- GitLab