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

nodes.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_NODES_HXX
00021 
00022 
00023 #include "errors.cxx"
00024 #include <stdio.h>
00025 
00026 
00027 namespace Multivac
00028 {
00029 
00031   // FASTMARCHINGNODE //
00033 
00034 
00035   template <class T>
00036   class CFastMarchingNode
00037   {
00038 
00039 
00040     /************************
00041      * TYPEDEF DECLARATIONS *
00042      ************************/
00043 
00044   public:
00045 
00046     typedef T value_type;
00047     typedef T* pointer;
00048     typedef const T* const_pointer;
00049     typedef T& reference;
00050     typedef const T& const_reference;
00051 
00052 
00053     /**************
00054      * ATTRIBUTES *
00055      **************/
00056 
00057   protected:
00058 
00059     T time;
00060     int X;
00061     int Y;
00062 
00063 
00064     /*****************************
00065      * CONSTRUCTORS & DESTRUCTOR *
00066      *****************************/
00067 
00068   public:
00069 
00070     CFastMarchingNode()  throw();
00071     CFastMarchingNode(T time_, int X_, int Y_)  throw();
00072 
00073     ~CFastMarchingNode()  throw();
00074 
00075 
00076     /***********
00077      * METHODS *
00078      ***********/
00079 
00080   public:
00081     
00082     void Init(T time_, int X_, int Y_);
00083     value_type GetValue() const;
00084     int GetX() const;
00085     int GetY() const;
00086     void SetValue(value_type time_);
00087     
00088 
00089   };  // CFastMarchingNode.
00090 
00091 
00092 }  //  namespace Multivac.
00093 
00094 
00095 #define FILE_NODES_HXX
00096 #endif

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