00001
00002 #ifndef ARTICULATION_MSGS_MESSAGE_PARAMMSG_H
00003 #define ARTICULATION_MSGS_MESSAGE_PARAMMSG_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013
00014 namespace articulation_msgs
00015 {
00016 template <class ContainerAllocator>
00017 struct ParamMsg_ : public ros::Message
00018 {
00019 typedef ParamMsg_<ContainerAllocator> Type;
00020
00021 ParamMsg_()
00022 : name()
00023 , value(0.0)
00024 , type(0)
00025 {
00026 }
00027
00028 ParamMsg_(const ContainerAllocator& _alloc)
00029 : name(_alloc)
00030 , value(0.0)
00031 , type(0)
00032 {
00033 }
00034
00035 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type;
00036 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > name;
00037
00038 typedef double _value_type;
00039 double value;
00040
00041 typedef uint8_t _type_type;
00042 uint8_t type;
00043
00044 enum { PRIOR = 0 };
00045 enum { PARAM = 1 };
00046 enum { EVAL = 2 };
00047
00048 private:
00049 static const char* __s_getDataType_() { return "articulation_msgs/ParamMsg"; }
00050 public:
00051 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00052
00053 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00054
00055 private:
00056 static const char* __s_getMD5Sum_() { return "6b116ef40eb37aa2f03e65c1a95f8bf1"; }
00057 public:
00058 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00059
00060 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00061
00062 private:
00063 static const char* __s_getMessageDefinition_() { return "# Single parameter passed to or from model fitting\n\
00064 #\n\
00065 # This mechanism allows to flexibly pass parameters to \n\
00066 # model fitting (and vice versa). Note that these parameters \n\
00067 # are model-specific: A client may supply additional\n\
00068 # parameters to the model estimator, and, similarly, a estimator\n\
00069 # may add the estimated model parameters to the model message.\n\
00070 # When the model is then evaluated, for example to make predictions\n\
00071 # or to compute the likelihood, the model class can then use\n\
00072 # these parameters.\n\
00073 #\n\
00074 # A parameter has a name, a value, and a type. The type globally\n\
00075 # indicates whether it is a prior parameter (prior to model fitting),\n\
00076 # or a model parameter (found during model fitting, using a maximum-\n\
00077 # likelihood estimator), or a cached evaluation (e.g., the likelihood\n\
00078 # or the BIC are a typical \"side\"-product of model estimation, and\n\
00079 # can therefore already be cached).\n\
00080 #\n\
00081 # For a list of currently used parameters, see the documentation at\n\
00082 # http://www.ros.org/wiki/articulation_models\n\
00083 #\n\
00084 \n\
00085 uint8 PRIOR=0 # indicates a prior model parameter \n\
00086 # (e.g., \"sigma_position\")\n\
00087 uint8 PARAM=1 # indicates a estimated model parameter \n\
00088 # (e.g., \"rot_radius\", the estimated radius)\n\
00089 uint8 EVAL=2 # indicates a cached evaluation of the model, given \n\
00090 # the current trajectory\n\
00091 # (e.g., \"loglikelihood\", the log likelihood of the\n\
00092 # data, given the model and its parameters)\n\
00093 \n\
00094 string name # name of the parameter\n\
00095 float64 value # value of the parameter\n\
00096 uint8 type # type of the parameter (PRIOR, PARAM, EVAL)\n\
00097 \n\
00098 \n\
00099 "; }
00100 public:
00101 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00102
00103 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00104
00105 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00106 {
00107 ros::serialization::OStream stream(write_ptr, 1000000000);
00108 ros::serialization::serialize(stream, name);
00109 ros::serialization::serialize(stream, value);
00110 ros::serialization::serialize(stream, type);
00111 return stream.getData();
00112 }
00113
00114 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00115 {
00116 ros::serialization::IStream stream(read_ptr, 1000000000);
00117 ros::serialization::deserialize(stream, name);
00118 ros::serialization::deserialize(stream, value);
00119 ros::serialization::deserialize(stream, type);
00120 return stream.getData();
00121 }
00122
00123 ROS_DEPRECATED virtual uint32_t serializationLength() const
00124 {
00125 uint32_t size = 0;
00126 size += ros::serialization::serializationLength(name);
00127 size += ros::serialization::serializationLength(value);
00128 size += ros::serialization::serializationLength(type);
00129 return size;
00130 }
00131
00132 typedef boost::shared_ptr< ::articulation_msgs::ParamMsg_<ContainerAllocator> > Ptr;
00133 typedef boost::shared_ptr< ::articulation_msgs::ParamMsg_<ContainerAllocator> const> ConstPtr;
00134 };
00135 typedef ::articulation_msgs::ParamMsg_<std::allocator<void> > ParamMsg;
00136
00137 typedef boost::shared_ptr< ::articulation_msgs::ParamMsg> ParamMsgPtr;
00138 typedef boost::shared_ptr< ::articulation_msgs::ParamMsg const> ParamMsgConstPtr;
00139
00140
00141 template<typename ContainerAllocator>
00142 std::ostream& operator<<(std::ostream& s, const ::articulation_msgs::ParamMsg_<ContainerAllocator> & v)
00143 {
00144 ros::message_operations::Printer< ::articulation_msgs::ParamMsg_<ContainerAllocator> >::stream(s, "", v);
00145 return s;}
00146
00147 }
00148
00149 namespace ros
00150 {
00151 namespace message_traits
00152 {
00153 template<class ContainerAllocator>
00154 struct MD5Sum< ::articulation_msgs::ParamMsg_<ContainerAllocator> > {
00155 static const char* value()
00156 {
00157 return "6b116ef40eb37aa2f03e65c1a95f8bf1";
00158 }
00159
00160 static const char* value(const ::articulation_msgs::ParamMsg_<ContainerAllocator> &) { return value(); }
00161 static const uint64_t static_value1 = 0x6b116ef40eb37aa2ULL;
00162 static const uint64_t static_value2 = 0xf03e65c1a95f8bf1ULL;
00163 };
00164
00165 template<class ContainerAllocator>
00166 struct DataType< ::articulation_msgs::ParamMsg_<ContainerAllocator> > {
00167 static const char* value()
00168 {
00169 return "articulation_msgs/ParamMsg";
00170 }
00171
00172 static const char* value(const ::articulation_msgs::ParamMsg_<ContainerAllocator> &) { return value(); }
00173 };
00174
00175 template<class ContainerAllocator>
00176 struct Definition< ::articulation_msgs::ParamMsg_<ContainerAllocator> > {
00177 static const char* value()
00178 {
00179 return "# Single parameter passed to or from model fitting\n\
00180 #\n\
00181 # This mechanism allows to flexibly pass parameters to \n\
00182 # model fitting (and vice versa). Note that these parameters \n\
00183 # are model-specific: A client may supply additional\n\
00184 # parameters to the model estimator, and, similarly, a estimator\n\
00185 # may add the estimated model parameters to the model message.\n\
00186 # When the model is then evaluated, for example to make predictions\n\
00187 # or to compute the likelihood, the model class can then use\n\
00188 # these parameters.\n\
00189 #\n\
00190 # A parameter has a name, a value, and a type. The type globally\n\
00191 # indicates whether it is a prior parameter (prior to model fitting),\n\
00192 # or a model parameter (found during model fitting, using a maximum-\n\
00193 # likelihood estimator), or a cached evaluation (e.g., the likelihood\n\
00194 # or the BIC are a typical \"side\"-product of model estimation, and\n\
00195 # can therefore already be cached).\n\
00196 #\n\
00197 # For a list of currently used parameters, see the documentation at\n\
00198 # http://www.ros.org/wiki/articulation_models\n\
00199 #\n\
00200 \n\
00201 uint8 PRIOR=0 # indicates a prior model parameter \n\
00202 # (e.g., \"sigma_position\")\n\
00203 uint8 PARAM=1 # indicates a estimated model parameter \n\
00204 # (e.g., \"rot_radius\", the estimated radius)\n\
00205 uint8 EVAL=2 # indicates a cached evaluation of the model, given \n\
00206 # the current trajectory\n\
00207 # (e.g., \"loglikelihood\", the log likelihood of the\n\
00208 # data, given the model and its parameters)\n\
00209 \n\
00210 string name # name of the parameter\n\
00211 float64 value # value of the parameter\n\
00212 uint8 type # type of the parameter (PRIOR, PARAM, EVAL)\n\
00213 \n\
00214 \n\
00215 ";
00216 }
00217
00218 static const char* value(const ::articulation_msgs::ParamMsg_<ContainerAllocator> &) { return value(); }
00219 };
00220
00221 }
00222 }
00223
00224 namespace ros
00225 {
00226 namespace serialization
00227 {
00228
00229 template<class ContainerAllocator> struct Serializer< ::articulation_msgs::ParamMsg_<ContainerAllocator> >
00230 {
00231 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00232 {
00233 stream.next(m.name);
00234 stream.next(m.value);
00235 stream.next(m.type);
00236 }
00237
00238 ROS_DECLARE_ALLINONE_SERIALIZER;
00239 };
00240 }
00241 }
00242
00243 namespace ros
00244 {
00245 namespace message_operations
00246 {
00247
00248 template<class ContainerAllocator>
00249 struct Printer< ::articulation_msgs::ParamMsg_<ContainerAllocator> >
00250 {
00251 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::articulation_msgs::ParamMsg_<ContainerAllocator> & v)
00252 {
00253 s << indent << "name: ";
00254 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name);
00255 s << indent << "value: ";
00256 Printer<double>::stream(s, indent + " ", v.value);
00257 s << indent << "type: ";
00258 Printer<uint8_t>::stream(s, indent + " ", v.type);
00259 }
00260 };
00261
00262
00263 }
00264 }
00265
00266 #endif // ARTICULATION_MSGS_MESSAGE_PARAMMSG_H
00267