00001 #ifndef Impala_Core_VideoSet_ApplyConcepts_h 00002 #define Impala_Core_VideoSet_ApplyConcepts_h 00003 00004 #include "Core/VideoSet/Reporter.h" 00005 #include "Core/VideoSet/PathCreatorVideoSet.h" 00006 #include "Core/Training/ApplyConcepts.h" 00007 00008 namespace Impala 00009 { 00010 namespace Core 00011 { 00012 namespace VideoSet 00013 { 00014 00015 00016 class ApplyConcepts : public Listener 00017 { 00018 public: 00019 ApplyConcepts(Reporter* reporter, CmdOptions& options, VideoSet* vs) 00020 { 00021 mReporter = reporter; 00022 00023 mPathCreator = new PathCreatorVideoSet(vs); 00024 mApplier = new Training::ApplyConcepts(options, mPathCreator); 00025 } 00026 00027 virtual 00028 ~ApplyConcepts() 00029 { 00030 delete mApplier; 00031 delete mPathCreator; 00032 } 00033 00034 virtual void 00035 HandleNewWalk(VideoSet* vs, String walkType) 00036 { 00037 mPathCreator->SetWalkType(walkType); 00038 } 00039 00040 virtual void 00041 HandleDoneFile(VideoSet* vs, int fileId, Stream::RgbDataSrc* src) 00042 { 00043 mPathCreator->SetVideoId(fileId); 00044 mApplier->NextPath(mPathCreator); 00045 } 00046 00047 private: 00048 Reporter* mReporter; 00049 Training::ApplyConcepts* mApplier; 00050 PathCreatorVideoSet* mPathCreator; 00051 ILOG_VAR_DEC; 00052 }; 00053 00054 ILOG_VAR_INIT(ApplyConcepts, Impala.Core.VideoSet); 00055 00056 } // namespace VideoSet 00057 } // namespace Core 00058 } // namespace Impala 00059 00060 #endif