1 // This is oxl/mvl/ProjStructure.h 2 #ifndef ProjStructure_h_ 3 #define ProjStructure_h_ 4 //: 5 // \file 6 // \author awf@robots.ox.ac.uk 7 // \date 17 Mar 00 8 9 #include <iostream> 10 #include <vector> 11 #ifdef _MSC_VER 12 # include <vcl_msvc_warnings.h> 13 #endif 14 15 #include <mvl/ImageMetric.h> 16 #include <mvl/PMatrix.h> 17 #include <mvl/HomgPoint2D.h> 18 #include <mvl/HomgPoint3D.h> 19 20 class HomgInterestPointSet; 21 22 //: Not documented FIXME 23 class ProjStructure 24 { 25 public: 26 27 std::vector<HomgInterestPointSet*> points_2d_; 28 std::vector<PMatrix> P_; 29 std::vector<HomgPoint3D> X_; 30 ImageMetric const* metric_; 31 32 ProjStructure(); 33 get_image_metric(int)34 ImageMetric const *get_image_metric(int) const { return metric_; } 35 P(int i)36 PMatrix& P(int i) { return P_[i]; } P(int i)37 PMatrix const& P(int i) const { return P_[i]; } 38 X(int i)39 HomgPoint3D& X(int i) { return X_[i]; } X(int i)40 HomgPoint3D const& X(int i) const { return X_[i]; } 41 get_min_view()42 int get_min_view() const { return 0; } get_max_view()43 int get_max_view() const { return P_.size() - 1; } npoints()44 int npoints() const { return X_.size(); } 45 46 HomgPoint2D& get_point_2d(int view, int c); 47 int get_point_match(int view, int c); 48 }; 49 50 #endif // ProjStructure_h_ 51