00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _CQHIERARCHY
00027 #define _CQHIERARCHY
00028 #include "libGIFTQuHierarchy/include/uses-declarations.h"
00029
00030
00031
00051 #include <memory>
00052 #include <map>
00053 #include <list>
00054 #include "libMRML/include/CQuery.h"
00055 #include "libMRML/include/CSelfDestroyPointer.h"
00056 #include "libMRML/include/CIDRelevanceLevelPairList.h"
00057 #include "libMRML/include/CRelevanceLevelList.h"
00058
00059
00060
00061
00062 #include "libMRML/include/CAlgorithm.h"
00063 #include "libMRML/include/CAccessor.h"
00064 #include "libMRML/include/CAccessorAdminCollection.h"
00065 #include "libMRML/include/CAccessorAdmin.h"
00066
00067
00068 class CScoreBoard;
00069 class CAccessor;
00070
00071
00080 class CQHierarchy:public CQuery{
00081 protected:
00082
00084 list<TID> mCurrentPath;
00086 void init();
00087
00088 public:
00094 CQHierarchy();
00100 ~CQHierarchy();
00105 CQHierarchy(CAccessorAdminCollection& inAccessorAdminCollection,
00106 CAlgorithm& inAlgorithm);
00107
00119 virtual CIDRelevanceLevelPairList* fastQuery(const CXMLElement& inQuery,
00120 int inNumberOfInterestingImages,
00121 double inDifferenceToBest);
00122
00128 virtual bool setAlgorithm(CAlgorithm& inAlgorithm);
00129
00130 };
00131
00132 #endif
00133