#ifndef SRC_VTK_HH #define SRC_VTK_HH #include <string> template <class VertexBasis, class CellBasis> class BodyVTKWriter { private: CellBasis const &cellBasis_; VertexBasis const &vertexBasis_; std::string const prefix_; public: BodyVTKWriter(CellBasis const &cellBasis, VertexBasis const &vertexBasis, std::string prefix); template <class Vector, class ScalarVector> void write(size_t record, Vector const &u, Vector const &v, ScalarVector const &alpha, ScalarVector const &stress) const; void writeGrid() const; }; template <class VertexBasis, class CellBasis> class MyVTKWriter { private: std::vector<BodyVTKWriter<VertexBasis, CellBasis>* > bodyVTKWriters_; std::string const prefix_; public: MyVTKWriter(const std::vector<const CellBasis* >& cellBases, const std::vector<const VertexBasis* >& vertexBases, std::string prefix); ~MyVTKWriter(); template <class Vector, class ScalarVector> void write(size_t record, const std::vector<Vector>& u, const std::vector<Vector>& v, const std::vector<ScalarVector>& alpha, const std::vector<ScalarVector>& stress) const; void writeGrids() const; }; #endif