00001 #ifndef __GEOMETRIC_MAP_XYZA_HH 00002 #define __GEOMETRIC_MAP_XYZA_HH 00003 00004 #include <mimas/mm_xml_reference.h> 00005 #include "geometric_map.hh" 00006 #include "tools.hh" 00007 00009 class geometric_map_xyza: public geometric_map 00010 { 00011 public: 00014 geometric_map_xyza( mimas::mm_xml_reference< XalanElement > &configuration, 00015 bool _verbose ); 00018 virtual std::vector< mi_pose > candidates 00019 ( const std::vector< boost::numeric::ublas::vector< int > > &features ) 00020 const; 00023 virtual bool random_poses 00024 ( const std::vector< boost::numeric::ublas::vector< int > > &features, 00025 mi_pose &pose ) 00026 const; 00027 protected: 00031 mi_pose point_pair_to_pose( const boost::numeric::ublas::vector< int > &p1, 00032 const boost::numeric::ublas::vector< int > &p2 ) 00033 const; 00035 double min_dist; 00037 double max_dist; 00039 static rand_function< int > rnd; 00041 bool verbose; 00042 }; 00043 00045 typedef boost::shared_ptr< geometric_map_xyza > geometric_map_xyza_ptr; 00046 00047 #endif