Go to the documentation of this file.00001
00002 #ifndef LWR_FRI_MESSAGE_FRIJOINTCOMMAND_H
00003 #define LWR_FRI_MESSAGE_FRIJOINTCOMMAND_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 lwr_fri
00019 {
00020 template <class ContainerAllocator>
00021 struct FriJointCommand_ {
00022 typedef FriJointCommand_<ContainerAllocator> Type;
00023
00024 FriJointCommand_()
00025 : jntPos()
00026 , jntVel()
00027 , addJntTrq()
00028 {
00029 jntPos.assign(0.0);
00030 jntVel.assign(0.0);
00031 addJntTrq.assign(0.0);
00032 }
00033
00034 FriJointCommand_(const ContainerAllocator& _alloc)
00035 : jntPos()
00036 , jntVel()
00037 , addJntTrq()
00038 {
00039 jntPos.assign(0.0);
00040 jntVel.assign(0.0);
00041 addJntTrq.assign(0.0);
00042 }
00043
00044 typedef boost::array<float, 7> _jntPos_type;
00045 boost::array<float, 7> jntPos;
00046
00047 typedef boost::array<float, 7> _jntVel_type;
00048 boost::array<float, 7> jntVel;
00049
00050 typedef boost::array<float, 7> _addJntTrq_type;
00051 boost::array<float, 7> addJntTrq;
00052
00053
00054 typedef boost::shared_ptr< ::lwr_fri::FriJointCommand_<ContainerAllocator> > Ptr;
00055 typedef boost::shared_ptr< ::lwr_fri::FriJointCommand_<ContainerAllocator> const> ConstPtr;
00056 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00057 };
00058 typedef ::lwr_fri::FriJointCommand_<std::allocator<void> > FriJointCommand;
00059
00060 typedef boost::shared_ptr< ::lwr_fri::FriJointCommand> FriJointCommandPtr;
00061 typedef boost::shared_ptr< ::lwr_fri::FriJointCommand const> FriJointCommandConstPtr;
00062
00063
00064 template<typename ContainerAllocator>
00065 std::ostream& operator<<(std::ostream& s, const ::lwr_fri::FriJointCommand_<ContainerAllocator> & v)
00066 {
00067 ros::message_operations::Printer< ::lwr_fri::FriJointCommand_<ContainerAllocator> >::stream(s, "", v);
00068 return s;}
00069
00070 }
00071
00072 namespace ros
00073 {
00074 namespace message_traits
00075 {
00076 template<class ContainerAllocator> struct IsMessage< ::lwr_fri::FriJointCommand_<ContainerAllocator> > : public TrueType {};
00077 template<class ContainerAllocator> struct IsMessage< ::lwr_fri::FriJointCommand_<ContainerAllocator> const> : public TrueType {};
00078 template<class ContainerAllocator>
00079 struct MD5Sum< ::lwr_fri::FriJointCommand_<ContainerAllocator> > {
00080 static const char* value()
00081 {
00082 return "10f89dabbe358204afa3f190e7d10f5f";
00083 }
00084
00085 static const char* value(const ::lwr_fri::FriJointCommand_<ContainerAllocator> &) { return value(); }
00086 static const uint64_t static_value1 = 0x10f89dabbe358204ULL;
00087 static const uint64_t static_value2 = 0xafa3f190e7d10f5fULL;
00088 };
00089
00090 template<class ContainerAllocator>
00091 struct DataType< ::lwr_fri::FriJointCommand_<ContainerAllocator> > {
00092 static const char* value()
00093 {
00094 return "lwr_fri/FriJointCommand";
00095 }
00096
00097 static const char* value(const ::lwr_fri::FriJointCommand_<ContainerAllocator> &) { return value(); }
00098 };
00099
00100 template<class ContainerAllocator>
00101 struct Definition< ::lwr_fri::FriJointCommand_<ContainerAllocator> > {
00102 static const char* value()
00103 {
00104 return "float32[7] jntPos\n\
00105 float32[7] jntVel\n\
00106 float32[7] addJntTrq \n\
00107 ";
00108 }
00109
00110 static const char* value(const ::lwr_fri::FriJointCommand_<ContainerAllocator> &) { return value(); }
00111 };
00112
00113 template<class ContainerAllocator> struct IsFixedSize< ::lwr_fri::FriJointCommand_<ContainerAllocator> > : public TrueType {};
00114 }
00115 }
00116
00117 namespace ros
00118 {
00119 namespace serialization
00120 {
00121
00122 template<class ContainerAllocator> struct Serializer< ::lwr_fri::FriJointCommand_<ContainerAllocator> >
00123 {
00124 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00125 {
00126 stream.next(m.jntPos);
00127 stream.next(m.jntVel);
00128 stream.next(m.addJntTrq);
00129 }
00130
00131 ROS_DECLARE_ALLINONE_SERIALIZER;
00132 };
00133 }
00134 }
00135
00136 namespace ros
00137 {
00138 namespace message_operations
00139 {
00140
00141 template<class ContainerAllocator>
00142 struct Printer< ::lwr_fri::FriJointCommand_<ContainerAllocator> >
00143 {
00144 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::lwr_fri::FriJointCommand_<ContainerAllocator> & v)
00145 {
00146 s << indent << "jntPos[]" << std::endl;
00147 for (size_t i = 0; i < v.jntPos.size(); ++i)
00148 {
00149 s << indent << " jntPos[" << i << "]: ";
00150 Printer<float>::stream(s, indent + " ", v.jntPos[i]);
00151 }
00152 s << indent << "jntVel[]" << std::endl;
00153 for (size_t i = 0; i < v.jntVel.size(); ++i)
00154 {
00155 s << indent << " jntVel[" << i << "]: ";
00156 Printer<float>::stream(s, indent + " ", v.jntVel[i]);
00157 }
00158 s << indent << "addJntTrq[]" << std::endl;
00159 for (size_t i = 0; i < v.addJntTrq.size(); ++i)
00160 {
00161 s << indent << " addJntTrq[" << i << "]: ";
00162 Printer<float>::stream(s, indent + " ", v.addJntTrq[i]);
00163 }
00164 }
00165 };
00166
00167
00168 }
00169 }
00170
00171 #endif // LWR_FRI_MESSAGE_FRIJOINTCOMMAND_H
00172