00001
00016 #ifndef _StandardStopCondition_h
00017 #define _StandardStopCondition_h
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "DoubleParameter.h"
00029 #include "FunctionBase.h"
00030 #include "StopConditionBase.h"
00031
00032
00033
00034
00035
00036 class StandardStopCondition
00037 : public StopConditionBase
00038 {
00039 public:
00040
00041
00044 StandardStopCondition(void);
00045
00050 StandardStopCondition(const DoubleParameter epsilon);
00051
00056 StandardStopCondition(const StandardStopCondition& from);
00057
00058
00061 virtual ~StandardStopCondition(void);
00062
00063
00064
00065
00066
00067
00068
00069
00072 virtual DoubleParameter Epsilon() const;
00073
00076 virtual DoubleParameter& rEpsilon();
00077
00078
00079
00080
00092 virtual bool IsMet(const ColumnVector& previousPoint,
00093 const ColumnVector& lastPoint,
00094 double previousValue,
00095 double lastValue,
00096 double customValue = 0) const = 0;
00097
00114 virtual bool IsMet(const ColumnVector& previousPoint,
00115 const ColumnVector& lastPoint,
00116 double previousValue,
00117 const FunctionBase& function,
00118 double customValue = 0) const = 0;
00119
00137 virtual bool IsMet(const ColumnVector& previousPoint,
00138 const ColumnVector& lastPoint,
00139 const FunctionBase& function,
00140 double customValue = 0) const = 0;
00141
00142
00143
00144
00145 protected:
00146 DoubleParameter mEpsilon;
00147 private:
00148 };
00149
00150
00151
00152
00153
00154
00155
00156 #endif // _StandardStopCondition_h