00001 #ifndef __GEOMETRIC_MAP_XYZ_HH 00002 #define __GEOMETRIC_MAP_XYZ_HH 00003 00004 #include <mimas/mm_xml_reference.h> 00005 #include "geometric_map.hh" 00006 #include "tools.hh" 00007 00010 class geometric_map_xyz: public geometric_map 00011 { 00012 public: 00015 geometric_map_xyz( mimas::mm_xml_reference< XalanElement > &configuration, 00016 bool _verbose ); 00022 virtual std::vector< mi_pose > candidates 00023 ( const std::vector< boost::numeric::ublas::vector< int > > &features ) 00024 const; 00029 virtual bool random_poses 00030 ( const std::vector< boost::numeric::ublas::vector< int > > &features, 00031 mi_pose &pose ) 00032 const; 00033 protected: 00038 mi_pose point_to_pose( const boost::numeric::ublas::vector< int > &p ) 00039 const; 00041 static rand_function< int > rnd; 00043 bool verbose; 00044 }; 00045 00047 typedef boost::shared_ptr< geometric_map_xyz > geometric_map_xyz_ptr; 00048 00049 #endif