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