00001
00002 #ifndef GAZEBO_MSGS_MESSAGE_ODEJOINTPROPERTIES_H
00003 #define GAZEBO_MSGS_MESSAGE_ODEJOINTPROPERTIES_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 gazebo_msgs
00019 {
00020 template <class ContainerAllocator>
00021 struct ODEJointProperties_ {
00022 typedef ODEJointProperties_<ContainerAllocator> Type;
00023
00024 ODEJointProperties_()
00025 : damping()
00026 , hiStop()
00027 , loStop()
00028 , erp()
00029 , cfm()
00030 , stop_erp()
00031 , stop_cfm()
00032 , fudge_factor()
00033 , fmax()
00034 , vel()
00035 {
00036 }
00037
00038 ODEJointProperties_(const ContainerAllocator& _alloc)
00039 : damping(_alloc)
00040 , hiStop(_alloc)
00041 , loStop(_alloc)
00042 , erp(_alloc)
00043 , cfm(_alloc)
00044 , stop_erp(_alloc)
00045 , stop_cfm(_alloc)
00046 , fudge_factor(_alloc)
00047 , fmax(_alloc)
00048 , vel(_alloc)
00049 {
00050 }
00051
00052 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _damping_type;
00053 std::vector<double, typename ContainerAllocator::template rebind<double>::other > damping;
00054
00055 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _hiStop_type;
00056 std::vector<double, typename ContainerAllocator::template rebind<double>::other > hiStop;
00057
00058 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _loStop_type;
00059 std::vector<double, typename ContainerAllocator::template rebind<double>::other > loStop;
00060
00061 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _erp_type;
00062 std::vector<double, typename ContainerAllocator::template rebind<double>::other > erp;
00063
00064 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _cfm_type;
00065 std::vector<double, typename ContainerAllocator::template rebind<double>::other > cfm;
00066
00067 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _stop_erp_type;
00068 std::vector<double, typename ContainerAllocator::template rebind<double>::other > stop_erp;
00069
00070 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _stop_cfm_type;
00071 std::vector<double, typename ContainerAllocator::template rebind<double>::other > stop_cfm;
00072
00073 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _fudge_factor_type;
00074 std::vector<double, typename ContainerAllocator::template rebind<double>::other > fudge_factor;
00075
00076 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _fmax_type;
00077 std::vector<double, typename ContainerAllocator::template rebind<double>::other > fmax;
00078
00079 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _vel_type;
00080 std::vector<double, typename ContainerAllocator::template rebind<double>::other > vel;
00081
00082
00083 typedef boost::shared_ptr< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> > Ptr;
00084 typedef boost::shared_ptr< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> const> ConstPtr;
00085 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00086 };
00087 typedef ::gazebo_msgs::ODEJointProperties_<std::allocator<void> > ODEJointProperties;
00088
00089 typedef boost::shared_ptr< ::gazebo_msgs::ODEJointProperties> ODEJointPropertiesPtr;
00090 typedef boost::shared_ptr< ::gazebo_msgs::ODEJointProperties const> ODEJointPropertiesConstPtr;
00091
00092
00093 template<typename ContainerAllocator>
00094 std::ostream& operator<<(std::ostream& s, const ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> & v)
00095 {
00096 ros::message_operations::Printer< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> >::stream(s, "", v);
00097 return s;}
00098
00099 }
00100
00101 namespace ros
00102 {
00103 namespace message_traits
00104 {
00105 template<class ContainerAllocator> struct IsMessage< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> > : public TrueType {};
00106 template<class ContainerAllocator> struct IsMessage< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> const> : public TrueType {};
00107 template<class ContainerAllocator>
00108 struct MD5Sum< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> > {
00109 static const char* value()
00110 {
00111 return "1b744c32a920af979f53afe2f9c3511f";
00112 }
00113
00114 static const char* value(const ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> &) { return value(); }
00115 static const uint64_t static_value1 = 0x1b744c32a920af97ULL;
00116 static const uint64_t static_value2 = 0x9f53afe2f9c3511fULL;
00117 };
00118
00119 template<class ContainerAllocator>
00120 struct DataType< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> > {
00121 static const char* value()
00122 {
00123 return "gazebo_msgs/ODEJointProperties";
00124 }
00125
00126 static const char* value(const ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> &) { return value(); }
00127 };
00128
00129 template<class ContainerAllocator>
00130 struct Definition< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> > {
00131 static const char* value()
00132 {
00133 return "# access to low level joint properties, change these at your own risk\n\
00134 float64[] damping # joint damping\n\
00135 float64[] hiStop # joint limit\n\
00136 float64[] loStop # joint limit\n\
00137 float64[] erp # set joint erp\n\
00138 float64[] cfm # set joint cfm\n\
00139 float64[] stop_erp # set joint erp for joint limit \"contact\" joint\n\
00140 float64[] stop_cfm # set joint cfm for joint limit \"contact\" joint\n\
00141 float64[] fudge_factor # joint fudge_factor applied at limits, see ODE manual for info.\n\
00142 float64[] fmax # ode joint param fmax\n\
00143 float64[] vel # ode joint param vel\n\
00144 \n\
00145 ";
00146 }
00147
00148 static const char* value(const ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> &) { return value(); }
00149 };
00150
00151 }
00152 }
00153
00154 namespace ros
00155 {
00156 namespace serialization
00157 {
00158
00159 template<class ContainerAllocator> struct Serializer< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> >
00160 {
00161 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00162 {
00163 stream.next(m.damping);
00164 stream.next(m.hiStop);
00165 stream.next(m.loStop);
00166 stream.next(m.erp);
00167 stream.next(m.cfm);
00168 stream.next(m.stop_erp);
00169 stream.next(m.stop_cfm);
00170 stream.next(m.fudge_factor);
00171 stream.next(m.fmax);
00172 stream.next(m.vel);
00173 }
00174
00175 ROS_DECLARE_ALLINONE_SERIALIZER;
00176 };
00177 }
00178 }
00179
00180 namespace ros
00181 {
00182 namespace message_operations
00183 {
00184
00185 template<class ContainerAllocator>
00186 struct Printer< ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> >
00187 {
00188 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::gazebo_msgs::ODEJointProperties_<ContainerAllocator> & v)
00189 {
00190 s << indent << "damping[]" << std::endl;
00191 for (size_t i = 0; i < v.damping.size(); ++i)
00192 {
00193 s << indent << " damping[" << i << "]: ";
00194 Printer<double>::stream(s, indent + " ", v.damping[i]);
00195 }
00196 s << indent << "hiStop[]" << std::endl;
00197 for (size_t i = 0; i < v.hiStop.size(); ++i)
00198 {
00199 s << indent << " hiStop[" << i << "]: ";
00200 Printer<double>::stream(s, indent + " ", v.hiStop[i]);
00201 }
00202 s << indent << "loStop[]" << std::endl;
00203 for (size_t i = 0; i < v.loStop.size(); ++i)
00204 {
00205 s << indent << " loStop[" << i << "]: ";
00206 Printer<double>::stream(s, indent + " ", v.loStop[i]);
00207 }
00208 s << indent << "erp[]" << std::endl;
00209 for (size_t i = 0; i < v.erp.size(); ++i)
00210 {
00211 s << indent << " erp[" << i << "]: ";
00212 Printer<double>::stream(s, indent + " ", v.erp[i]);
00213 }
00214 s << indent << "cfm[]" << std::endl;
00215 for (size_t i = 0; i < v.cfm.size(); ++i)
00216 {
00217 s << indent << " cfm[" << i << "]: ";
00218 Printer<double>::stream(s, indent + " ", v.cfm[i]);
00219 }
00220 s << indent << "stop_erp[]" << std::endl;
00221 for (size_t i = 0; i < v.stop_erp.size(); ++i)
00222 {
00223 s << indent << " stop_erp[" << i << "]: ";
00224 Printer<double>::stream(s, indent + " ", v.stop_erp[i]);
00225 }
00226 s << indent << "stop_cfm[]" << std::endl;
00227 for (size_t i = 0; i < v.stop_cfm.size(); ++i)
00228 {
00229 s << indent << " stop_cfm[" << i << "]: ";
00230 Printer<double>::stream(s, indent + " ", v.stop_cfm[i]);
00231 }
00232 s << indent << "fudge_factor[]" << std::endl;
00233 for (size_t i = 0; i < v.fudge_factor.size(); ++i)
00234 {
00235 s << indent << " fudge_factor[" << i << "]: ";
00236 Printer<double>::stream(s, indent + " ", v.fudge_factor[i]);
00237 }
00238 s << indent << "fmax[]" << std::endl;
00239 for (size_t i = 0; i < v.fmax.size(); ++i)
00240 {
00241 s << indent << " fmax[" << i << "]: ";
00242 Printer<double>::stream(s, indent + " ", v.fmax[i]);
00243 }
00244 s << indent << "vel[]" << std::endl;
00245 for (size_t i = 0; i < v.vel.size(); ++i)
00246 {
00247 s << indent << " vel[" << i << "]: ";
00248 Printer<double>::stream(s, indent + " ", v.vel[i]);
00249 }
00250 }
00251 };
00252
00253
00254 }
00255 }
00256
00257 #endif // GAZEBO_MSGS_MESSAGE_ODEJOINTPROPERTIES_H
00258