contrib/rpl/rgrl/rgrl_invariant_set.h
Go to the documentation of this file.
00001 #ifndef rgrl_invariant_set_h_
00002 #define rgrl_invariant_set_h_
00003 //:
00004 // \file
00005 // \brief  Represent a feature associated with a set of invariant properties.
00006 // \author Gehua Yang
00007 // \date   Feb 2006
00008 
00009 #include <vcl_vector.h>
00010 
00011 #include <rgrl/rgrl_invariant_sptr.h>
00012 #include <rgrl/rgrl_object.h>
00013 #include <rgrl/rgrl_mask.h>
00014 #include <rgrl/rgrl_mask_sptr.h>
00015 
00016 //: Represent a feature associated with a set of invariant properties.
00017 //
00018 class rgrl_invariant_set
00019   : public rgrl_object
00020 {
00021  public:
00022   rgrl_invariant_set() {}
00023 
00024   //:
00025   virtual ~rgrl_invariant_set() {}
00026 
00027   virtual void
00028   as_invariants( vcl_vector<rgrl_invariant_sptr>& invariant_key_points, rgrl_mask_sptr const& mask=0 ) = 0;
00029 
00030   //: return a bounding box
00031   virtual rgrl_mask_sptr bounding_box() const = 0;
00032 };
00033 
00034 #endif // rgrl_invariant_set_h_