00001
00002
00003 #ifndef _SEGMENTS_HYPOTHESIS_DEBUG_H_
00004 #define _SEGMENTS_HYPOTHESIS_DEBUG_H_
00005
00006 #include "jmath/jblas.hpp"
00007
00008 namespace jafar {
00009 namespace dseg {
00010 class LineFitter;
00011 class SearchPointLineDebug {
00012 struct PointInfo {
00013 jblas::vec2 point;
00014 double angle;
00015 double grad;
00016 double gray;
00017 };
00018 public:
00019 SearchPointLineDebug();
00020 void addPoint( double _x, double _y, double _angle, double _grad, double _gray);
00021 int count() const;
00022 jblas::vec2 pointAt( int _index );
00023 double angleAt( int _index );
00024 double gradAt( int _index );
00025 double grayAt( int _index );
00026 void lastIsSelected(int _offset);
00027 int selectedIndex() const;
00028 private:
00029 std::vector< PointInfo > m_points;
00030 int m_selectedIndex;
00031 };
00032 class SegmentHypothesisDebug {
00033 public:
00034 public:
00035 int searchPointLinesCount() const;
00036 void addSearchPointLine( const SearchPointLineDebug& _spl);
00037 const SearchPointLineDebug& searchPointLineAt( unsigned int index );
00038 void merge( const SegmentHypothesisDebug& );
00039 private:
00040 std::vector< SearchPointLineDebug > m_searchPointLines;
00041 };
00042 }
00043 }
00044
00045 #endif