src/ell/LT_AutoFlood.hh
Go to the documentation of this file.00001 #ifndef LT_AUTOFLOOD_HH_
00002 #define LT_AUTOFLOOD_HH_
00003
00004
00005
00006
00007 #include "ell/LandscapeTopology.hh"
00008 #include "ell/Basin.hh"
00009
00010 namespace ell
00011 {
00012
00013
00035 class LT_AutoFlood : public LandscapeTopology
00036 {
00037 protected:
00038
00040 LandscapeTopology* lt;
00041
00044 double maxFloodHeight;
00045
00048 const double floodDeltaE;
00051 const size_t floodMaxToStore;
00052
00055 const bool deleteLT;
00056
00057 public:
00058
00070 LT_AutoFlood( LandscapeTopology * lt
00071 , const double floodMaxHeight
00072 , const double floodDeltaE
00073 , const size_t floodMaxToStore
00074 , const bool deleteLT = false );
00075
00076 virtual ~LT_AutoFlood();
00077
00083 virtual
00084 bool
00085 addSaddle(const size_t i, const size_t j, const State* const s);
00086
00092 virtual
00093 bool
00094 addSaddle(const State* const m_i, const State* const m_j, const State* const s);
00095
00107 virtual
00108 const size_t
00109 addMin(const State* const m);
00110
00115 virtual
00116 const size_t
00117 getMinIndex(const State* const m) const;
00118
00121 virtual
00122 const size_t
00123 getMinCount() const;
00124
00128 virtual
00129 const State* const
00130 getMin(size_t i) const;
00131
00136 virtual
00137 const State* const
00138 getMFEState() const;
00139
00143 virtual
00144 double
00145 getDistance(const LandscapeTopology* const lt) const;
00146
00149 virtual
00150 void
00151 sort();
00152
00155 virtual
00156 bool
00157 isSorted() const;
00158
00160 virtual
00161 void
00162 clear();
00163
00168 virtual
00169 void
00170 write( std::ostream & out,
00171 const bool writeGraph = false ) const;
00172
00182 virtual
00183 std::pair<int,std::string>
00184 read( std::istream & in,
00185 const State * const templateState );
00186
00187 };
00188
00189 }
00190
00191
00192 #include "LT_AutoFlood.icc"
00193
00194
00195
00196
00197
00198 #endif