00001 #ifndef rgrl_est_translation_h_ 00002 #define rgrl_est_translation_h_ 00003 //: 00004 // \file 00005 // \author Charlene Tsai 00006 // \date Dec 2003 00007 00008 #include "rgrl_estimator.h" 00009 00010 //: Translation transform estimator 00011 // 00012 class rgrl_est_translation 00013 : public rgrl_linear_estimator 00014 { 00015 public: 00016 //: Default constructor 00017 // 00018 // Does nothing. This constructor is adequate for algorithms that 00019 // call \a estimate(.) function only. An example of the algorithm is 00020 // the rgrl_feature_based_registration. 00021 rgrl_est_translation(){} 00022 00023 // Constructor which takes the dimension of the dataset that the 00024 // estimator will be applied on. 00025 rgrl_est_translation( unsigned int dimension ); 00026 00027 //: Estimates a translation transform. 00028 // 00029 // The return pointer is to a rgrl_trans_translation object. 00030 // 00031 // \sa rgrl_estimator::estimate 00032 // 00033 rgrl_transformation_sptr 00034 estimate( rgrl_set_of<rgrl_match_set_sptr> const& matches, 00035 rgrl_transformation const& cur_transform ) const; 00036 00037 //: Estimates a translation transform. 00038 // 00039 // The return pointer is to a rgrl_trans_translation object. 00040 // 00041 // \sa rgrl_estimator::estimate 00042 // 00043 rgrl_transformation_sptr 00044 estimate( rgrl_match_set_sptr matches, 00045 rgrl_transformation const& cur_transform ) const; 00046 00047 //: Type of transformation estimated by this estimator. 00048 const vcl_type_info& transformation_type() const; 00049 00050 // Defines type-related functions 00051 rgrl_type_macro( rgrl_est_translation, rgrl_linear_estimator ); 00052 }; 00053 00054 #endif // rgrl_est_translation_h_