00001 #ifndef POL_MATCH_H 00002 #define POL_MATCH_H 00003 00004 #include <boost/numeric/ublas/vector.hpp> 00005 #include <boost/shared_ptr.hpp> 00006 #include "angle.h" 00007 #include <list> 00008 00009 namespace mimas { 00010 class pol_model; 00011 00021 class pol_match 00022 { 00023 public: 00024 typedef boost::numeric::ublas::vector< double > Vector; 00025 pol_model *model_found; 00026 Vector pos; 00027 angle orient; 00028 double strength; 00029 double scale; 00030 00031 pol_match() 00032 { model_found=NULL; strength=0; scale=1.0;} 00033 00034 void setPosition( const Vector &v ) 00035 { pos=v;} 00036 const Vector &getPosition() const 00037 { return pos; } 00038 void setOrientation( const angle &a ) 00039 {orient=a;} 00040 const angle &getOrientation() const 00041 {return orient;} 00042 void setStrength(double d) 00043 {strength=d;} 00044 double getScale(void) const 00045 { return scale; } 00046 void setScale(double d) 00047 { scale=d; } 00048 00049 }; 00050 00052 typedef boost::shared_ptr< pol_match > pol_match_ptr; 00053 00055 typedef std::list< pol_match_ptr > pol_match_ptr_list; 00056 00057 } 00058 00059 #endif