00001 00009 #ifndef EDGE_TRACKER_H 00010 #define EDGE_TRACKER_H 00011 00012 #include <blort/Tracker/Tracker.h> 00013 00014 namespace Tracking{ 00015 00017 class EdgeTracker : public Tracker 00018 { 00019 private: 00020 00021 // Resources 00022 Shader* m_shadeEdgeCompare; 00023 00024 // Functions 00025 // void particle_processing(TrackerModel* model, Shader* shadeCompare); 00026 void particle_filtering(ModelEntry* modelEntry); 00027 00028 public: 00029 EdgeTracker(); 00030 00031 virtual bool initInternal(); 00032 00033 virtual void image_processing(unsigned char* image, GLenum format=GL_BGR); 00034 virtual void image_processing(unsigned char* image, const TomGine::tgModel &m, const TomGine::tgPose &p, GLenum format=GL_BGR); 00035 virtual void image_processing(unsigned char* image, int model_id, const TomGine::tgPose &p, GLenum format=GL_BGR){}; 00036 00037 virtual bool track(); 00038 virtual bool track(int id); 00039 00040 virtual void drawResult(float linewidth=1.0f); 00041 00042 }; 00043 00044 } // namespace Tracking 00045 00046 #endif