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
00046 template <class T>
00047 class CCurvesSaver: public CSaver<T>
00048 {
00049
00050
00051
00052
00053
00054
00055 protected:
00056
00057
00058
00059
00060
00061
00062 public:
00063
00064 CCurvesSaver() throw();
00065 CCurvesSaver(string TimeFileName, string CurvesFileName,
00066 string CurveLengthsFileName, string PhiFileName,
00067 string FFileName, string XFileName, string YFileName,
00068 string PointsFileName, string EdgesFileName,
00069 string TrianglesFileName, int Period_);
00070
00071 virtual ~CCurvesSaver() throw();
00072
00073
00074
00075
00076
00077
00078 public:
00079
00080 virtual void SaveAtTheBeginning(CMesh<T>& Mesh,
00081 CSpeedFunction<T>& F,
00082 CLevelSet<T>& Phi,
00083 CInitializer<T>& Initializer);
00084 virtual void SaveAtCurrentIteration(CMesh<T>& Mesh,
00085 CSpeedFunction<T>& F,
00086 CLevelSet<T>& Phi,
00087 T time, int iter,
00088 CInitializer<T>& Initializer);
00089 virtual void SaveAtTheEnd(CMesh<T>& Mesh,
00090 CSpeedFunction<T>& F,
00091 CLevelSet<T>& Phi,
00092 Vector<T>& time, int iter,
00093 CInitializer<T>& Initializer);
00094
00095 };
00096
00097
00098 }
00099
00100
00101 #define FILE_SAVER_CURVESSAVER_HXX
00102 #endif