00001 #ifndef GRID_2D_HPP
00002 #define GRID_2D_HPP
00003
00004 #include "jmath/jblas.hpp"
00005 #include <iostream>
00006 #include "model3d/point2D.hpp"
00007 #include "model3d/point3D.hpp"
00008 #include "model3d/ransacLine2D.hpp"
00009 #include "model3d/Image3D.hpp"
00010
00011
00012 namespace jafar {
00014 namespace model3d {
00015
00016
00017
00018 class Grid2D
00019 {
00020 public:
00021
00022 Grid2D();
00023 ~Grid2D();
00024
00025 void initialize();
00026
00027 void info();
00028
00029 void clear();
00030
00031 void setPoints(std::vector<Point2D>* pPoints);
00032 void setPoints(char * fileName);
00033
00034
00035 void setPoints(Image3D* pImage3D);
00036
00037
00038 void extractLine2D_ransac();
00039
00040
00041 #ifdef HAVE_OPENGL
00042
00045 void displayLine2D();
00046 #endif // HAVE_OPENGL
00047
00048
00049
00051 std::vector<Point2D>* m_pPoints;
00052 std::vector<Line2D> m_vLine2D;
00053 std::vector<Point3D> m_vPt_1;
00054 std::vector<Point3D> m_vPt_2;
00055
00056 int m_nMaxNumberOfLines;
00058 RansacLine2D m_RansacLine2D;
00059
00060
00061 double m_dbMinX, m_dbMinY;
00062 double m_dbMaxX, m_dbMaxY;
00063 double m_dbStep;
00064 };
00065
00066 }
00067 }
00068
00069 #endif // GRID_2D_HPP