core/vgl/algo/vgl_h_matrix_1d_compute_3point.h
Go to the documentation of this file.
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_