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