Main Page | User's guide | Class Hierarchy | Class List | File List | Class Members

baseclass.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_INITIALCURVES_BASECLASS_HXX
00021 
00022 
00023 #include "../errors.cxx"
00024 #include <stdio.h>
00025 
00026 
00027 namespace Multivac
00028 {
00029 
00030 
00032   // CINITIALCURVE //
00034 
00036 
00041   template <class T>
00042   class CInitialCurve
00043   {
00044 
00045     /**************
00046      * ATTRIBUTES *
00047      **************/
00048 
00049   protected:
00050 
00052     Curve<T> Curve;
00053 
00055     bool reversed;
00056 
00057 
00058     /*****************************
00059      * CONSTRUCTORS & DESTRUCTOR *
00060      *****************************/
00061 
00062   public:
00063 
00064     CInitialCurve()  throw();
00065 
00066     virtual ~CInitialCurve()  throw();
00067 
00068 
00069     /***********
00070      * METHODS *
00071      ***********/
00072 
00073   public:
00074   
00075     virtual void SetDistances(CMesh<T>& Mesh, CLevelSet<T>& Phi) = 0;
00076     virtual T GetDistance(T x, T y) = 0;
00077 
00078     virtual void GetProjectionOnMesh(T& x, T& y, CMesh<T>& Mesh) = 0;
00079 
00080     virtual void Save(string CurveFile) const = 0;
00081 
00082   };  // CInitialCurve.
00083 
00084 
00085 }  // namespace Multivac.
00086 
00087 
00088 #define FILE_INITIALCURVES_BASECLASS_HXX
00089 #endif

Generated on Mon Apr 19 01:59:13 2004 for Multivac by doxygen 1.3.6-20040222