geometric_map.hh

00001 #ifndef __GEOMETRIC_MAP_HH
00002 #define __GEOMETRIC_MAP_HH
00003 
00004 #include <boost/numeric/ublas/vector.hpp>
00005 #include <boost/smart_ptr.hpp>
00006 #include <mimas/mm_object.h>
00007 #include <vector>
00008 #include "mi_pose.hh"
00009 
00015 class geometric_map: public mimas::mm_object
00016 {
00017  public:
00019   geometric_map( const std::string &_hash_type ): hash_type(_hash_type) {}
00025   virtual std::vector< mi_pose > candidates
00026      ( const std::vector< boost::numeric::ublas::vector< int > > &features )
00027     const = 0;
00032   virtual bool random_poses
00033      ( const std::vector< boost::numeric::ublas::vector< int > > &features,
00034        mi_pose &pose )
00035     const = 0;
00038   const std::string get_hash_type(void) const { return hash_type; }
00039  protected:
00041   std::string hash_type;
00042 };
00043 
00045 typedef boost::shared_ptr< geometric_map > geometric_map_ptr;
00046 
00047 #endif

doxygen-1.4.5 documentation for micron-vision - Tue Jan 17 15:29:15 2006