00001 #ifndef GLBASEEVALUATOR_H_ 00002 #define GLBASEEVALUATOR_H_ 00003 00004 class GLBaseFitness; 00005 class GLBaseOrganism; 00009 class GLBaseEvaluator 00010 { 00011 public: 00015 GLBaseEvaluator() 00016 {resetCounter();} 00017 00021 virtual ~GLBaseEvaluator() {}; 00022 00028 virtual GLBaseFitness* evaluateOrganism(GLBaseOrganism* organism) = 0; 00029 00034 long getCounter() const 00035 { return m_counter; } 00036 00042 virtual int getNumberOfObjectives() const = 0; 00043 00047 void increaseCounter() 00048 { ++m_counter; } 00049 00053 void resetCounter() 00054 { m_counter = 0; } 00055 00056 private: 00057 long m_counter; //to keep track on how many times the evaluator was called. 00058 //if necessary. Normally to be increased when 00059 //evaluateOrganism is called. 00060 }; 00061 00062 #endif /*GLBASEEVALUATOR_H_*/