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