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_