00001
00002
00003 #ifndef BALL_SCORING_COMMON_SCORINGCOMPONENT
00004 #define BALL_SCORING_COMMON_SCORINGCOMPONENT
00005
00006 #include <BALL/DATATYPE/string.h>
00007 #include <BALL/SCORING/COMMON/scoringFunction.h>
00008
00009 namespace BALL
00010 {
00011
00012 class ScoringFunction;
00013
00014 class ScoringComponent
00015 {
00016
00017 public:
00018
00020 ScoringComponent()
00021 ;
00022
00024 ScoringComponent(const ScoringComponent& sc)
00025 ;
00026
00028 ScoringComponent(ScoringFunction& sf)
00029 ;
00030
00032 virtual ~ScoringComponent()
00033 ;
00034
00036 virtual void clear()
00037 ;
00038
00040 virtual bool setup()
00041 ;
00042
00044 ScoringFunction* getScoringFunction() const
00045 ;
00046
00048 void setScoringFunction(ScoringFunction& sf)
00049 ;
00050
00052 String getName() const
00053 ;
00054
00056 void setName(const String& name)
00057 ;
00058
00060 virtual double calculateScore()
00061 ;
00062
00064 virtual double getScore() const
00065 ;
00066
00067
00068 protected:
00069
00070
00071 ScoringFunction* scoring_function_;
00072
00073
00074 double score_;
00075
00076
00077 private:
00078
00079
00080 String name_;
00081
00082 };
00083
00084 }
00085
00086 #endif // BALL_SCORING_COMMON_SCORINGCOMPONENT