Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

gkll_multi_view_data.h

Go to the documentation of this file.
00001 // This is gel/gkll/gkll_multi_view_data.h
00002 #ifndef gkll_multi_view_data_
00003 #define gkll_multi_view_data_
00004 //--------------------------------------------------------------------------------
00005 //:
00006 // \file
00007 // \brief Class to hold the matched points through multi views
00008 // \author
00009 //   L. Guichard
00010 //
00011 // \verbatim
00012 //  Modifications
00013 //   10-sep-2004 Peter Vanroose Added copy ctor with explicit vbl_ref_count init
00014 // \endverbatim
00015 //--------------------------------------------------------------------------------
00016 #include <vcl_vector.h>
00017 #include <mvl/NViewMatches.h>
00018 #include <vbl/vbl_ref_count.h>
00019 #include <vcl_iosfwd.h>
00020 
00021 template <class T>
00022 class gkll_multi_view_data : public vbl_ref_count
00023 {
00024  public:
00025   gkll_multi_view_data();
00026   gkll_multi_view_data(int nbviews);
00027   gkll_multi_view_data(gkll_multi_view_data<T> const& x)
00028     : vbl_ref_count(), nbviews_(x.nbviews_), nbfeatures_(x.nbfeatures_),
00029       size_vect_ft_(x.size_vect_ft_), matchnum_(x.matchnum_),
00030       closed_track_(x.closed_track_), MVM(x.MVM), all_pts(x.all_pts) {}
00031   ~gkll_multi_view_data();
00032 
00033   void new_track();
00034   void close_track();
00035 
00036   void set_params(int nbviews);
00037   void set(int view_num,int matchnum,T);
00038   void set(int view_num,T);
00039 
00040   void get(int, vcl_vector<T> &);
00041   void get(int, int, vcl_vector<T> &,
00042            vcl_vector<T> &);
00043   void get(int, int, int, vcl_vector<T> &,
00044            vcl_vector<T> &,
00045            vcl_vector<T> &);
00046 
00047   bool get_pred_match(int view_num,T obj,T & res);
00048   int get_nb_views() { return nbviews_; }
00049 
00050   void remove(int view_num, T match);
00051 
00052   vcl_ostream& print(vcl_ostream& str);
00053 
00054  private:
00055   int nbviews_;
00056   int nbfeatures_; //!< number of features wishing to be detected
00057   int size_vect_ft_;//!< the number of features in all images
00058   int matchnum_; //!< the number of tracks
00059   bool closed_track_;
00060 
00061   NViewMatches MVM;
00062   vcl_vector<T> all_pts;
00063 };
00064 
00065 #endif // gkll_multi_view_data_

Generated on Thu Jan 10 14:48:39 2008 for contrib/gel/gkll by  doxygen 1.4.4