00001 00007 #ifndef _NMCircumferenceCondition_h 00008 #define _NMCircumferenceCondition_h 00009 00010 // SYSTEM INCLUDES 00011 // 00012 00013 // PROJECT INCLUDES 00014 // 00015 00016 // LOCAL INCLUDES 00017 // 00018 #include "NMStopCondition.h" 00019 00020 // FORWARD REFERENCES 00021 // 00022 00023 00024 class NMCircumferenceCondition 00025 : public NMStopCondition 00026 { 00027 public: 00028 // LIFECYCLE 00029 00032 NMCircumferenceCondition(void); 00033 00034 00039 NMCircumferenceCondition(const NMCircumferenceCondition& from); 00040 00041 00044 ~NMCircumferenceCondition(void); 00045 00046 00047 // OPERATORS 00048 00049 // OPERATIONS 00050 00053 virtual std::auto_ptr<StopConditionBase> Clone() const; 00054 00055 // ACCESS 00056 00057 // INQUIRY 00058 00063 virtual bool IsMet(const PointWithValue& bestPoint, 00064 const PointWithValue& worstPoint, 00065 const PointWithValue& previousWorstPoint, 00066 const PointWithValue& worstReplacement, 00067 double circumference) const; 00068 protected: 00069 private: 00070 }; 00071 00072 // INLINE METHODS 00073 // 00074 00075 // EXTERNAL REFERENCES 00076 // 00077 00078 #endif // _NMCircumferenceCondition_h