Go to the documentation of this file.00001 #include "ias_drawer_executive/Keywords.h"
00002 #include <string>
00003 #include <ros/ros.h>
00004 #include <tf/tf.h>
00005
00006 Keywords::Keywords(std::string name, double val)
00007 {
00008 parameters_d[name] = val;
00009 };
00010
00011 Keywords &Keywords::operator()(std::string name, double val)
00012 {
00013 parameters_d[name] = val;
00014 return *this;
00015 };
00016
00017 Keywords::Keywords(std::string name, std::string val)
00018 {
00019 parameters_s[name] = val;
00020 };
00021
00022 Keywords &Keywords::operator()(std::string name, std::string val)
00023 {
00024 parameters_s[name] = val;
00025 return *this;
00026 };
00027
00028 Keywords::Keywords(std::string name, tf::Vector3 val)
00029 {
00030 parameters_v[name] = val;
00031 };
00032
00033 Keywords &Keywords::operator()(std::string name, tf::Vector3 val)
00034 {
00035 parameters_v[name] = val;
00036 return *this;
00037 };
00038
00039
00040 Keywords &Keywords::contains()
00041 {
00042 std::cout << "Contains :" << std::endl;
00043 {
00044 std::map<std::string,double>::iterator iter;
00045 for (iter = parameters_d.begin(); iter != parameters_d.end(); iter++ )
00046 std::cout << iter->first << ":" << iter->second << std::endl;
00047 }
00048 {
00049 std::map<std::string,std::string>::iterator iter;
00050 for (iter = parameters_s.begin(); iter != parameters_s.end(); iter++ )
00051 std::cout << iter->first << ":" << iter->second << std::endl;
00052 }
00053 {
00054 std::map<std::string,tf::Vector3>::iterator iter;
00055 for (iter = parameters_v.begin(); iter != parameters_v.end(); iter++ )
00056 std::cout << iter->first << ":" << iter->second.x() << " " << iter->second.y() << " " << iter->second.z() << std::endl;
00057 }
00058
00059
00060 return *this;
00061 };
00062
00063
00064 bool Keywords::has_d(const std::string &key) const
00065 {
00066 if (parameters_d.find(key) != parameters_d.end())
00067 return true;
00068 else
00069 return false;
00070 };
00071
00072 bool Keywords::has_s(const std::string &key) const
00073 {
00074 if (parameters_s.find(key) != parameters_s.end())
00075 return true;
00076 else
00077 return false;
00078 };
00079
00080 bool Keywords::has_v(const std::string &key) const
00081 {
00082 if (parameters_v.find(key) != parameters_v.end())
00083 return true;
00084 else
00085 return false;
00086 };
00087
00088 double Keywords::lookup_d(const std::string &key) const
00089 {
00090 std::map<std::string,double>::const_iterator it = parameters_d.find(key);
00091 if (it != parameters_d.end())
00092 return it->second;
00093 else return 0;
00094
00095 };
00096
00097 std::string Keywords::lookup_s(const std::string &key) const
00098 {
00099 std::map<std::string,std::string>::const_iterator it = parameters_s.find(key);
00100 if (it != parameters_s.end())
00101 return it->second;
00102 else return "";
00103
00104 };
00105
00106 tf::Vector3 Keywords::lookup_v(const std::string &key) const
00107 {
00108 std::map<std::string,tf::Vector3>::const_iterator it = parameters_v.find(key);
00109 if (it != parameters_v.end())
00110 return it->second;
00111 else return tf::Vector3(0,0,0);
00112
00113 };
00114
00115 KeyValPair Keywords::lookup(const std::string &key) const
00116 {
00117 KeyValPair kvp;
00118 {
00119 std::map<std::string,tf::Vector3>::const_iterator it = parameters_v.find(key);
00120 if (it != parameters_v.end())
00121 kvp.v = it->second;
00122 }
00123 {
00124 std::map<std::string,std::string>::const_iterator it = parameters_s.find(key);
00125 if (it != parameters_s.end())
00126 kvp.s = it->second;
00127 }
00128 {
00129 std::map<std::string,double>::const_iterator it = parameters_d.find(key);
00130 if (it != parameters_d.end())
00131 kvp.d = it->second;
00132 }
00133 return kvp;
00134 }
00135
00136
00137