Go to the documentation of this file.00001 
00002 #ifndef _FMatrixCompute_h
00003 #define _FMatrixCompute_h
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 #include <vcl_vector.h>
00036 #include <mvl/FMatrix.h>
00037 #include <vgl/vgl_homg_point_2d.h>
00038 class HomgPoint2D;
00039 class PairMatchSetCorner;
00040 
00041 class FMatrixCompute
00042 {
00043  public:
00044   FMatrixCompute();
00045   virtual ~FMatrixCompute();
00046 
00047   
00048   
00049   
00050   
00051   virtual bool compute(PairMatchSetCorner& matched_points, FMatrix* f_matrix_ptr);
00052   virtual bool compute(vcl_vector<HomgPoint2D>&, vcl_vector<HomgPoint2D>&, FMatrix* f_matrix_ptr);
00053   virtual bool compute(vcl_vector<vgl_homg_point_2d<double> >&,
00054                        vcl_vector<vgl_homg_point_2d<double> >&,
00055                        FMatrix& f_matrix_ptr);
00056 
00057   
00058   
00059   inline FMatrix compute(PairMatchSetCorner& matched_points)
00060     { FMatrix ret; compute(matched_points, &ret); return ret; }
00061 
00062   inline FMatrix compute(vcl_vector<HomgPoint2D>& pts1, vcl_vector<HomgPoint2D>& pts2)
00063     { FMatrix ret; compute(pts1, pts2, &ret); return ret; }
00064   inline FMatrix compute(vcl_vector<vgl_homg_point_2d<double> >& pts1,
00065                          vcl_vector<vgl_homg_point_2d<double> >& pts2)
00066     { FMatrix ret; compute(pts1, pts2, ret); return ret; }
00067 };
00068 
00069 #endif // _FMatrixCompute_h