00001
00002 #ifndef NASA_R2_COMMON_MSGS_MESSAGE_LABELEDGAINS_H
00003 #define NASA_R2_COMMON_MSGS_MESSAGE_LABELEDGAINS_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017
00018 namespace nasa_r2_common_msgs
00019 {
00020 template <class ContainerAllocator>
00021 struct LabeledGains_ {
00022 typedef LabeledGains_<ContainerAllocator> Type;
00023
00024 LabeledGains_()
00025 : originator()
00026 , joint_names()
00027 , naturalFreq()
00028 , dampingRatio()
00029 , K()
00030 , D()
00031 , I()
00032 , windupLimit()
00033 {
00034 }
00035
00036 LabeledGains_(const ContainerAllocator& _alloc)
00037 : originator(_alloc)
00038 , joint_names(_alloc)
00039 , naturalFreq(_alloc)
00040 , dampingRatio(_alloc)
00041 , K(_alloc)
00042 , D(_alloc)
00043 , I(_alloc)
00044 , windupLimit(_alloc)
00045 {
00046 }
00047
00048 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _originator_type;
00049 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > originator;
00050
00051 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _joint_names_type;
00052 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > joint_names;
00053
00054 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _naturalFreq_type;
00055 std::vector<double, typename ContainerAllocator::template rebind<double>::other > naturalFreq;
00056
00057 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _dampingRatio_type;
00058 std::vector<double, typename ContainerAllocator::template rebind<double>::other > dampingRatio;
00059
00060 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _K_type;
00061 std::vector<double, typename ContainerAllocator::template rebind<double>::other > K;
00062
00063 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _D_type;
00064 std::vector<double, typename ContainerAllocator::template rebind<double>::other > D;
00065
00066 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _I_type;
00067 std::vector<double, typename ContainerAllocator::template rebind<double>::other > I;
00068
00069 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _windupLimit_type;
00070 std::vector<double, typename ContainerAllocator::template rebind<double>::other > windupLimit;
00071
00072
00073 typedef boost::shared_ptr< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> > Ptr;
00074 typedef boost::shared_ptr< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> const> ConstPtr;
00075 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00076 };
00077 typedef ::nasa_r2_common_msgs::LabeledGains_<std::allocator<void> > LabeledGains;
00078
00079 typedef boost::shared_ptr< ::nasa_r2_common_msgs::LabeledGains> LabeledGainsPtr;
00080 typedef boost::shared_ptr< ::nasa_r2_common_msgs::LabeledGains const> LabeledGainsConstPtr;
00081
00082
00083 template<typename ContainerAllocator>
00084 std::ostream& operator<<(std::ostream& s, const ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> & v)
00085 {
00086 ros::message_operations::Printer< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> >::stream(s, "", v);
00087 return s;}
00088
00089 }
00090
00091 namespace ros
00092 {
00093 namespace message_traits
00094 {
00095 template<class ContainerAllocator> struct IsMessage< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> > : public TrueType {};
00096 template<class ContainerAllocator> struct IsMessage< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> const> : public TrueType {};
00097 template<class ContainerAllocator>
00098 struct MD5Sum< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> > {
00099 static const char* value()
00100 {
00101 return "c93e734ccf5e719d91c5fa607c5dacb9";
00102 }
00103
00104 static const char* value(const ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> &) { return value(); }
00105 static const uint64_t static_value1 = 0xc93e734ccf5e719dULL;
00106 static const uint64_t static_value2 = 0x91c5fa607c5dacb9ULL;
00107 };
00108
00109 template<class ContainerAllocator>
00110 struct DataType< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> > {
00111 static const char* value()
00112 {
00113 return "nasa_r2_common_msgs/LabeledGains";
00114 }
00115
00116 static const char* value(const ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> &) { return value(); }
00117 };
00118
00119 template<class ContainerAllocator>
00120 struct Definition< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> > {
00121 static const char* value()
00122 {
00123 return "string originator\n\
00124 string[] joint_names\n\
00125 float64[] naturalFreq\n\
00126 float64[] dampingRatio\n\
00127 float64[] K\n\
00128 float64[] D\n\
00129 float64[] I\n\
00130 float64[] windupLimit\n\
00131 \n\
00132 ";
00133 }
00134
00135 static const char* value(const ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> &) { return value(); }
00136 };
00137
00138 }
00139 }
00140
00141 namespace ros
00142 {
00143 namespace serialization
00144 {
00145
00146 template<class ContainerAllocator> struct Serializer< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> >
00147 {
00148 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00149 {
00150 stream.next(m.originator);
00151 stream.next(m.joint_names);
00152 stream.next(m.naturalFreq);
00153 stream.next(m.dampingRatio);
00154 stream.next(m.K);
00155 stream.next(m.D);
00156 stream.next(m.I);
00157 stream.next(m.windupLimit);
00158 }
00159
00160 ROS_DECLARE_ALLINONE_SERIALIZER;
00161 };
00162 }
00163 }
00164
00165 namespace ros
00166 {
00167 namespace message_operations
00168 {
00169
00170 template<class ContainerAllocator>
00171 struct Printer< ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> >
00172 {
00173 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::nasa_r2_common_msgs::LabeledGains_<ContainerAllocator> & v)
00174 {
00175 s << indent << "originator: ";
00176 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.originator);
00177 s << indent << "joint_names[]" << std::endl;
00178 for (size_t i = 0; i < v.joint_names.size(); ++i)
00179 {
00180 s << indent << " joint_names[" << i << "]: ";
00181 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.joint_names[i]);
00182 }
00183 s << indent << "naturalFreq[]" << std::endl;
00184 for (size_t i = 0; i < v.naturalFreq.size(); ++i)
00185 {
00186 s << indent << " naturalFreq[" << i << "]: ";
00187 Printer<double>::stream(s, indent + " ", v.naturalFreq[i]);
00188 }
00189 s << indent << "dampingRatio[]" << std::endl;
00190 for (size_t i = 0; i < v.dampingRatio.size(); ++i)
00191 {
00192 s << indent << " dampingRatio[" << i << "]: ";
00193 Printer<double>::stream(s, indent + " ", v.dampingRatio[i]);
00194 }
00195 s << indent << "K[]" << std::endl;
00196 for (size_t i = 0; i < v.K.size(); ++i)
00197 {
00198 s << indent << " K[" << i << "]: ";
00199 Printer<double>::stream(s, indent + " ", v.K[i]);
00200 }
00201 s << indent << "D[]" << std::endl;
00202 for (size_t i = 0; i < v.D.size(); ++i)
00203 {
00204 s << indent << " D[" << i << "]: ";
00205 Printer<double>::stream(s, indent + " ", v.D[i]);
00206 }
00207 s << indent << "I[]" << std::endl;
00208 for (size_t i = 0; i < v.I.size(); ++i)
00209 {
00210 s << indent << " I[" << i << "]: ";
00211 Printer<double>::stream(s, indent + " ", v.I[i]);
00212 }
00213 s << indent << "windupLimit[]" << std::endl;
00214 for (size_t i = 0; i < v.windupLimit.size(); ++i)
00215 {
00216 s << indent << " windupLimit[" << i << "]: ";
00217 Printer<double>::stream(s, indent + " ", v.windupLimit[i]);
00218 }
00219 }
00220 };
00221
00222
00223 }
00224 }
00225
00226 #endif // NASA_R2_COMMON_MSGS_MESSAGE_LABELEDGAINS_H
00227