00001 // This is core/vgl/algo/vgl_h_matrix_1d_compute_3point.h 00002 #ifndef vgl_h_matrix_1d_compute_3point_h_ 00003 #define vgl_h_matrix_1d_compute_3point_h_ 00004 //: 00005 // \file 00006 // \brief Calculate the line projectivity which matches three 1D point correspondences 00007 // 00008 // \author 00009 // F. Schaffalitzky, RRG 00010 // 00011 // \verbatim 00012 // Modifications 00013 // 23 Mar 2003 - J.L. Mundy - preparing for upgrade to vgl 00014 // computations restricted to vgl_homg_point_1d<double> 00015 // Seems somewhat overdoing it to template the transform 00016 // solvers since double is needed for robust computation 00017 // 23 Jun 2003 - Peter Vanroose - made compute_cool_homg pure virtual 00018 // \endverbatim 00019 00020 #include <vgl/algo/vgl_h_matrix_1d_compute.h> 00021 00022 //: Calculate the line projectivity which matches three 1D point correspondences 00023 // To obtain the H-matrix from 3 point pairs, call the compute() method from 00024 // the parent class vgl_h_matrix_1d_compute. 00025 class vgl_h_matrix_1d_compute_3point : public vgl_h_matrix_1d_compute 00026 { 00027 public: 00028 vgl_h_matrix_1d_compute_3point(void) {} 00029 ~vgl_h_matrix_1d_compute_3point() {} 00030 protected: 00031 virtual bool 00032 compute_cool_homg(const vcl_vector<vgl_homg_point_1d<double> > & points1, 00033 const vcl_vector<vgl_homg_point_1d<double> > & points2, 00034 vgl_h_matrix_1d<double>& H); 00035 }; 00036 00037 #endif // vgl_h_matrix_1d_compute_3point_h_