00001 00010 #ifndef _NMPreviousWorstCondition_h 00011 #define _NMPreviousWorstCondition_h 00012 00013 // SYSTEM INCLUDES 00014 // 00015 00016 // PROJECT INCLUDES 00017 // 00018 00019 // LOCAL INCLUDES 00020 // 00021 #include "NMStopCondition.h" 00022 00023 // FORWARD REFERENCES 00024 // 00025 00026 00027 class NMPreviousWorstCondition 00028 : public NMStopCondition 00029 { 00030 public: 00031 // LIFECYCLE 00032 00035 NMPreviousWorstCondition(void); 00036 00037 00042 NMPreviousWorstCondition(const NMPreviousWorstCondition& from); 00043 00053 NMPreviousWorstCondition(CountedPtr<StandardStopCondition> cpComparison); 00054 00057 ~NMPreviousWorstCondition(void); 00058 00059 00060 // OPERATORS 00061 00062 // OPERATIONS 00063 00066 virtual std::auto_ptr<StopConditionBase> Clone() const; 00067 00068 // ACCESS 00069 00070 // INQUIRY 00071 00076 virtual bool IsMet(const PointWithValue& bestPoint, 00077 const PointWithValue& worstPoint, 00078 const PointWithValue& previousWorstPoint, 00079 const PointWithValue& worstReplacement, 00080 double circumference) const; 00081 00082 protected: 00083 private: 00084 }; 00085 00086 // INLINE METHODS 00087 // 00088 00089 // EXTERNAL REFERENCES 00090 // 00091 00092 #endif // _NMPreviousWorstCondition_h