contrib/oxl/mvl/HMatrix1DCompute.h
Go to the documentation of this file.
00001 #ifndef HMatrix1DCompute_h_
00002 #define HMatrix1DCompute_h_
00003 //:
00004 // \file
00005 //
00006 // Base class of classes to generate a line-to-line projectivity matrix from
00007 // a set of matched points.
00008 //
00009 // \author fsm
00010 //
00011 
00012 class HMatrix1D;
00013 #include <vgl/vgl_homg_point_1d.h>
00014 #include <vcl_vector.h>
00015 
00016 class HMatrix1DCompute
00017 {
00018  public:
00019   //
00020   HMatrix1DCompute() : verbose_(false) { }
00021   virtual ~HMatrix1DCompute() { }
00022 
00023   //
00024   void verbose(bool); // set this to true for verbose run-time information
00025 
00026   //
00027   // Compute methods :
00028   //
00029   bool compute(const vcl_vector<vgl_homg_point_1d<double> >&,
00030                const vcl_vector<vgl_homg_point_1d<double> >&,
00031                HMatrix1D *);
00032   bool compute(const double [],
00033                const double [],
00034                int,
00035                HMatrix1D *);
00036  protected:
00037   bool verbose_;
00038 
00039   virtual bool compute_cool_homg(const vcl_vector<vgl_homg_point_1d<double> >&,
00040                                  const vcl_vector<vgl_homg_point_1d<double> >&,
00041                                  HMatrix1D *);
00042   virtual bool compute_array_dbl(const double [],
00043                                  const double [],
00044                                  int N,
00045                                  HMatrix1D *);
00046 };
00047 
00048 #endif // HMatrix1DCompute_h_