Main Page | User's Guide | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

curvessaver.hxx

00001 // Copyright (C) 2002-2004 Vivien Mallet
00002 //
00003 // This file is part of Multivac library.
00004 // Multivac library provides front-tracking algorithms.
00005 // 
00006 // Multivac is free software; you can redistribute it and/or modify
00007 // it under the terms of the GNU General Public License as published by
00008 // the Free Software Foundation; either version 2 of the License, or
00009 // (at your option) any later version.
00010 // 
00011 // Multivac is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License (file "license") for more details.
00015 //
00016 // For more information, please see the Multivac home page:
00017 //     http://spacetown.free.fr/fronts/
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   // CCURVESSAVER //
00034 
00036 
00046   template <class T>
00047   class CCurvesSaver: public CSaver<T>
00048   {
00049 
00050 
00051     /**************
00052      * ATTRIBUTES *
00053      **************/
00054 
00055   protected:
00056 
00057 
00058     /*****************************
00059      * CONSTRUCTORS & DESTRUCTOR *
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      * METHODS *
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   };  // CCurvesSaver.
00096 
00097 
00098 }  // namespace Multivac.
00099 
00100 
00101 #define FILE_SAVER_CURVESSAVER_HXX
00102 #endif

Generated on Sun Jan 16 23:37:57 2005 for Multivac by  doxygen 1.4.0