Go to the documentation of this file.00001
00002 #ifndef TripleMatchSetLineSeg_h_
00003 #define TripleMatchSetLineSeg_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "PairMatchSetLineSeg.h"
00019 #include "TripleMatchSet.h"
00020
00021 class LineSegSet;
00022 class PairMatchSetLineSeg;
00023 class HomgLineSeg2D;
00024
00025 class TripleMatchSetLineSeg : public TripleMatchSet
00026 {
00027 public:
00028 TripleMatchSetLineSeg();
00029 TripleMatchSetLineSeg(LineSegSet& lines1, LineSegSet& lines2, LineSegSet& lines3);
00030 TripleMatchSetLineSeg(const PairMatchSetLineSeg&, const PairMatchSetLineSeg&);
00031
00032 void set(LineSegSet& lines1, LineSegSet& lines2, LineSegSet& lines3);
00033
00034 PairMatchSetLineSeg* get_matches12() { return (PairMatchSetLineSeg*)match12_; }
00035 PairMatchSetLineSeg* get_matches23() { return (PairMatchSetLineSeg*)match23_; }
00036
00037 LineSegSet* get_linesegs1() { return get_matches12()->get_linesegs1(); }
00038 LineSegSet* get_linesegs2() { return get_matches12()->get_linesegs2(); }
00039 LineSegSet* get_linesegs3() { return get_matches23()->get_linesegs2(); }
00040
00041 PairMatchSetLineSeg const* get_matches12() const { return (PairMatchSetLineSeg const*)match12_; }
00042 PairMatchSetLineSeg const* get_matches23() const { return (PairMatchSetLineSeg const*)match23_; }
00043
00044 LineSegSet const* get_linesegs1() const { return get_matches12()->get_linesegs1(); }
00045 LineSegSet const* get_linesegs2() const { return get_matches12()->get_linesegs2(); }
00046 LineSegSet const* get_linesegs3() const { return get_matches23()->get_linesegs2(); }
00047
00048
00049 void extract_matches(vcl_vector <HomgLineSeg2D>& linesegs1, vcl_vector <int>& lineseg_index_1,
00050 vcl_vector <HomgLineSeg2D>& linesegs2, vcl_vector <int>& lineseg_index_2,
00051 vcl_vector <HomgLineSeg2D>& linesegs3, vcl_vector <int>& lineseg_index_3) const;
00052
00053
00054 void extract_matches(vcl_vector <HomgLineSeg2D>& linesegs1,
00055 vcl_vector <HomgLineSeg2D>& linesegs2,
00056 vcl_vector <HomgLineSeg2D>& linesegs3) const;
00057 };
00058
00059 #endif // TripleMatchSetLineSeg_h_