00001 #ifndef Impala_Core_Tracking_SearcherBase_h 00002 #define Impala_Core_Tracking_SearcherBase_h 00003 00004 #include "Core/Array/Arrays.h" 00005 00006 #include "Core/Tracking/BasicTypes.h" 00007 00008 namespace Impala 00009 { 00010 namespace Core 00011 { 00012 namespace Tracking 00013 { 00014 00015 class ObjectRepresentation; 00016 00024 class SearcherBase 00025 { 00026 public: 00027 SearcherBase() 00028 { 00029 mObject = 0; 00030 } 00031 00032 virtual void SearchObject(Array::Array2dVec3Real64& image) {}; 00033 00034 virtual void Reset(Array::Array2dVec3Real64& image, ObjectRepresentation& object, const Position& pos) 00035 { 00036 mObject = &object; 00037 mLastPos = pos; 00038 } 00039 00040 Position mLastPos; 00041 protected: 00042 ObjectRepresentation* mObject; 00043 }; 00044 00045 } // namespace Tracking 00046 } // namespace Core 00047 } // namespace Impala 00048 00049 #endif //Impala_Core_Tracking_SearcherBase_h