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