00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef FILE_SAVER_SAVEATTHEEND_HXX
00021
00022
00023 #include "../errors.cxx"
00024 #include <stdio.h>
00025
00026
00027 namespace Multivac
00028 {
00029
00030
00032
00034
00037
00041 template <class T>
00042 class CSaveAtTheEnd: public CSaver<T>
00043 {
00044
00045
00046
00047
00048
00049
00050 protected:
00051
00052
00053
00054
00055
00056
00057 public:
00058
00059 CSaveAtTheEnd() throw();
00060 CSaveAtTheEnd(string TimeFileName, string CurvesFileName,
00061 string CurveLengthsFileName, string PhiFileName,
00062 string FFileName, string XFileName, string YFileName,
00063 string PointsFileName, string EdgesFileName,
00064 string TrianglesFileName, int Period_);
00065
00066 ~CSaveAtTheEnd() throw();
00067
00068
00069
00070
00071
00072
00073 public:
00074
00075 virtual void SaveAtTheBeginning(CMesh<T>& Mesh,
00076 CSpeedFunction<T>& F,
00077 CLevelSet<T>& Phi,
00078 CInitializer<T>& Initializer);
00079 virtual void SaveAtCurrentIteration(CMesh<T>& Mesh,
00080 CSpeedFunction<T>& F,
00081 CLevelSet<T>& Phi,
00082 T time, int iter,
00083 CInitializer<T>& Initializer);
00084 virtual void SaveAtTheEnd(CMesh<T>& Mesh,
00085 CSpeedFunction<T>& F,
00086 CLevelSet<T>& Phi,
00087 Vector<T>& time,
00088 int iter,
00089 CInitializer<T>& Initializer);
00090
00091 };
00092
00093
00094 }
00095
00096
00097 #define FILE_SAVER_SAVEATTHEEND_HXX
00098 #endif