#ifndef _SCTL_VTUDATA_ #define _SCTL_VTUDATA_ #include #include SCTL_INCLUDE(comm.hpp) #include SCTL_INCLUDE(vector.hpp) #include SCTL_INCLUDE(mem_mgr.hpp) namespace SCTL_NAMESPACE { class Comm; template class Vector; template class Matrix; struct VTUData { typedef float VTKReal; // Point data Vector coord; // always 3D Vector value; // Cell data Vector connect; Vector offset; Vector types; void WriteVTK(const std::string& fname, const Comm& comm) const; template void AddElems(const ElemLst elem_lst, Integer order, const Comm& comm = Comm::Self()); template void AddElems(const ElemLst elem_lst, const Vector& elem_value, Integer order, const Comm& comm = Comm::Self()); private: template static Matrix VTK_Nodes(Integer order); }; } #include SCTL_INCLUDE(vtudata.txx) #endif //_SCTL_VTUDATA_