00001 #ifndef GOODNESSRULE_H 00002 #define GOODNESSRULE_H 00003 00004 #include "CompositeFragment.h" 00005 00009 class GoodnessRule 00010 { 00011 public: 00012 00016 GoodnessRule( void ); 00017 00021 ~GoodnessRule(){}; 00022 00026 void addMinMax( double p_min, double p_max ); 00027 00031 void resetMinMax( void ); 00032 00036 bool operator()( const CompositeFragment & p_composite_fragment); 00037 00041 void operator()( const CompositeFragment & p_composite_fragment, float & p_goodness ) const; 00042 00043 protected: 00044 00048 class MinMax 00049 { 00050 public: 00051 MinMax() : min(0.0), max(0.0){}; 00052 double min; 00053 double max; 00054 }; 00055 00056 std::vector<MinMax> m_min_max; 00057 00058 private: 00059 00060 std::vector<double> m_tmp_properties; 00061 }; 00062 00063 #endif 00064 te: 00065 00066 std::vector<double> m_tmp_properties; 00067 }; 00068 00069 #endif