contrib/oxl/mvl/PairMatchSetLineSeg.h
Go to the documentation of this file.
00001 // This is oxl/mvl/PairMatchSetLineSeg.h
00002 #ifndef PairMatchSetLineSeg_h_
00003 #define PairMatchSetLineSeg_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \brief Matches between homogeneous line segments
00010 //
00011 //    PairMatchSetLineSeg holds matches between homogeneous
00012 //    line segments.  This should be rewritten to use the original
00013 //    IULine*, but this is efficient.
00014 //
00015 // \author
00016 //     Andrew W. Fitzgibbon, Oxford RRG, 09 Aug 96
00017 //
00018 //-----------------------------------------------------------------------------
00019 
00020 #include <mvl/PairMatchSet.h>
00021 class LineSegSet;
00022 class HomgLineSeg2D;
00023 
00024 class PairMatchSetLineSeg : public PairMatchSet
00025 {
00026   LineSegSet* linesegs1_;
00027   LineSegSet* linesegs2_;
00028 
00029  public:
00030   // Constructors/Destructors--------------------------------------------------
00031   PairMatchSetLineSeg();
00032   PairMatchSetLineSeg(LineSegSet& corners1, LineSegSet& corners2);
00033   ~PairMatchSetLineSeg();
00034 
00035   // Data Access---------------------------------------------------------------
00036   LineSegSet* get_linesegs1() const { return linesegs1_; }
00037   LineSegSet* get_linesegs2() const { return linesegs2_; }
00038 
00039   void extract_matches(vcl_vector<HomgLineSeg2D>& l1, vcl_vector<HomgLineSeg2D>& l2) const;
00040 
00041   // Data Control--------------------------------------------------------------
00042   void set(LineSegSet* lines1, LineSegSet* lines2);
00043 };
00044 
00045 #endif // PairMatchSetLineSeg_h_