ModelMsg.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-fuerte-alufr-ros-pkg/doc_stacks/2012-12-26_15-13-16.045312/articulation/articulation_msgs/msg/ModelMsg.msg */
00002 #ifndef ARTICULATION_MSGS_MESSAGE_MODELMSG_H
00003 #define ARTICULATION_MSGS_MESSAGE_MODELMSG_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 #include "std_msgs/Header.h"
00018 #include "articulation_msgs/ParamMsg.h"
00019 #include "articulation_msgs/TrackMsg.h"
00020 
00021 namespace articulation_msgs
00022 {
00023 template <class ContainerAllocator>
00024 struct ModelMsg_ {
00025   typedef ModelMsg_<ContainerAllocator> Type;
00026 
00027   ModelMsg_()
00028   : header()
00029   , id(0)
00030   , name()
00031   , params()
00032   , track()
00033   {
00034   }
00035 
00036   ModelMsg_(const ContainerAllocator& _alloc)
00037   : header(_alloc)
00038   , id(0)
00039   , name(_alloc)
00040   , params(_alloc)
00041   , track(_alloc)
00042   {
00043   }
00044 
00045   typedef  ::std_msgs::Header_<ContainerAllocator>  _header_type;
00046    ::std_msgs::Header_<ContainerAllocator>  header;
00047 
00048   typedef int32_t _id_type;
00049   int32_t id;
00050 
00051   typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  _name_type;
00052   std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other >  name;
00053 
00054   typedef std::vector< ::articulation_msgs::ParamMsg_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::articulation_msgs::ParamMsg_<ContainerAllocator> >::other >  _params_type;
00055   std::vector< ::articulation_msgs::ParamMsg_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::articulation_msgs::ParamMsg_<ContainerAllocator> >::other >  params;
00056 
00057   typedef  ::articulation_msgs::TrackMsg_<ContainerAllocator>  _track_type;
00058    ::articulation_msgs::TrackMsg_<ContainerAllocator>  track;
00059 
00060 
00061   typedef boost::shared_ptr< ::articulation_msgs::ModelMsg_<ContainerAllocator> > Ptr;
00062   typedef boost::shared_ptr< ::articulation_msgs::ModelMsg_<ContainerAllocator>  const> ConstPtr;
00063   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00064 }; // struct ModelMsg
00065 typedef  ::articulation_msgs::ModelMsg_<std::allocator<void> > ModelMsg;
00066 
00067 typedef boost::shared_ptr< ::articulation_msgs::ModelMsg> ModelMsgPtr;
00068 typedef boost::shared_ptr< ::articulation_msgs::ModelMsg const> ModelMsgConstPtr;
00069 
00070 
00071 template<typename ContainerAllocator>
00072 std::ostream& operator<<(std::ostream& s, const  ::articulation_msgs::ModelMsg_<ContainerAllocator> & v)
00073 {
00074   ros::message_operations::Printer< ::articulation_msgs::ModelMsg_<ContainerAllocator> >::stream(s, "", v);
00075   return s;}
00076 
00077 } // namespace articulation_msgs
00078 
00079 namespace ros
00080 {
00081 namespace message_traits
00082 {
00083 template<class ContainerAllocator> struct IsMessage< ::articulation_msgs::ModelMsg_<ContainerAllocator> > : public TrueType {};
00084 template<class ContainerAllocator> struct IsMessage< ::articulation_msgs::ModelMsg_<ContainerAllocator>  const> : public TrueType {};
00085 template<class ContainerAllocator>
00086 struct MD5Sum< ::articulation_msgs::ModelMsg_<ContainerAllocator> > {
00087   static const char* value() 
00088   {
00089     return "d6fd23ca956a2c6fee31f2452ddba34d";
00090   }
00091 
00092   static const char* value(const  ::articulation_msgs::ModelMsg_<ContainerAllocator> &) { return value(); } 
00093   static const uint64_t static_value1 = 0xd6fd23ca956a2c6fULL;
00094   static const uint64_t static_value2 = 0xee31f2452ddba34dULL;
00095 };
00096 
00097 template<class ContainerAllocator>
00098 struct DataType< ::articulation_msgs::ModelMsg_<ContainerAllocator> > {
00099   static const char* value() 
00100   {
00101     return "articulation_msgs/ModelMsg";
00102   }
00103 
00104   static const char* value(const  ::articulation_msgs::ModelMsg_<ContainerAllocator> &) { return value(); } 
00105 };
00106 
00107 template<class ContainerAllocator>
00108 struct Definition< ::articulation_msgs::ModelMsg_<ContainerAllocator> > {
00109   static const char* value() 
00110   {
00111     return "# Single kinematic model\n\
00112 #\n\
00113 # A kinematic model is defined by its model class name, and a set of parameters. \n\
00114 # The client may additionally specify a model id, that can be used to colorize the\n\
00115 # model when visualized using the RVIZ model display.\n\
00116 # \n\
00117 # For a list of currently implemented models, see the documetation at\n\
00118 # http://www.ros.org/wiki/articulation_models\n\
00119 #\n\
00120 #\n\
00121 \n\
00122 std_msgs/Header header                        # frame and timestamp\n\
00123 \n\
00124 int32 id                             # user specified model id\n\
00125 string name                          # name of the model family (e.g. \"rotational\",\n\
00126                                      # \"prismatic\", \"pca-gp\", \"rigid\")\n\
00127 articulation_msgs/ParamMsg[] params  # model parameters\n\
00128 articulation_msgs/TrackMsg track     # trajectory from which the model is estimated, or\n\
00129                                      # that is evaluated using the model\n\
00130 \n\
00131 ================================================================================\n\
00132 MSG: std_msgs/Header\n\
00133 # Standard metadata for higher-level stamped data types.\n\
00134 # This is generally used to communicate timestamped data \n\
00135 # in a particular coordinate frame.\n\
00136 # \n\
00137 # sequence ID: consecutively increasing ID \n\
00138 uint32 seq\n\
00139 #Two-integer timestamp that is expressed as:\n\
00140 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00141 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00142 # time-handling sugar is provided by the client library\n\
00143 time stamp\n\
00144 #Frame this data is associated with\n\
00145 # 0: no frame\n\
00146 # 1: global frame\n\
00147 string frame_id\n\
00148 \n\
00149 ================================================================================\n\
00150 MSG: articulation_msgs/ParamMsg\n\
00151 # Single parameter passed to or from model fitting\n\
00152 #\n\
00153 # This mechanism allows to flexibly pass parameters to \n\
00154 # model fitting (and vice versa). Note that these parameters \n\
00155 # are model-specific: A client may supply additional\n\
00156 # parameters to the model estimator, and, similarly, a estimator\n\
00157 # may add the estimated model parameters to the model message.\n\
00158 # When the model is then evaluated, for example to make predictions\n\
00159 # or to compute the likelihood, the model class can then use\n\
00160 # these parameters.\n\
00161 #\n\
00162 # A parameter has a name, a value, and a type. The type globally\n\
00163 # indicates whether it is a prior parameter (prior to model fitting),\n\
00164 # or a model parameter (found during model fitting, using a maximum-\n\
00165 # likelihood estimator), or a cached evaluation (e.g., the likelihood\n\
00166 # or the BIC are a typical \"side\"-product of model estimation, and\n\
00167 # can therefore already be cached).\n\
00168 #\n\
00169 # For a list of currently used parameters, see the documentation at\n\
00170 # http://www.ros.org/wiki/articulation_models\n\
00171 #\n\
00172 \n\
00173 uint8 PRIOR=0   # indicates a prior model parameter \n\
00174                 # (e.g., \"sigma_position\")\n\
00175 uint8 PARAM=1   # indicates a estimated model parameter \n\
00176                 # (e.g., \"rot_radius\", the estimated radius)\n\
00177 uint8 EVAL=2    # indicates a cached evaluation of the model, given \n\
00178                 # the current trajectory\n\
00179                 # (e.g., \"loglikelihood\", the log likelihood of the\n\
00180                 # data, given the model and its parameters)\n\
00181 \n\
00182 string name     # name of the parameter\n\
00183 float64 value   # value of the parameter\n\
00184 uint8 type      # type of the parameter (PRIOR, PARAM, EVAL)\n\
00185 \n\
00186 \n\
00187 ================================================================================\n\
00188 MSG: articulation_msgs/TrackMsg\n\
00189 # Single kinematic trajectory\n\
00190 #\n\
00191 # This message contains a kinematic trajectory. The trajectory is specified\n\
00192 # as a vector of 6D poses. An additional flag, track_type, indicates whether\n\
00193 # the track is valid, and whether it includes orientation. The track id\n\
00194 # can be used for automatic coloring in the RVIZ track plugin, and can be \n\
00195 # freely chosen by the client. \n\
00196 #\n\
00197 # A model is fitting only from the trajectory stored in the pose[]-vector. \n\
00198 # Additional information may be associated to each pose using the channels\n\
00199 # vector, with arbitrary # fields (e.g., to include applied/measured forces). \n\
00200 #\n\
00201 # After model evaluation,\n\
00202 # also the associated configurations of the object are stored in the channels,\n\
00203 # named \"q[0]\"..\"q[DOF-1]\", where DOF is the number of degrees of freedom.\n\
00204 # Model evaluation also projects the poses in the pose vector onto the model,\n\
00205 # and stores these ideal poses in the vector pose_projected. Further, during model\n\
00206 # evaluation, a new set of (uniform) configurations over the valid configuration\n\
00207 # range is sampled, and the result is stored in pose_resampled.\n\
00208 # The vector pose_flags contains additional display flags for the poses in the\n\
00209 # pose vector, for example, whether a pose is visible and/or\n\
00210 # the end of a trajectory segment. At the moment, this is only used by the\n\
00211 # prior_model_learner.\n\
00212 #\n\
00213 \n\
00214 std_msgs/Header header                        # frame and timestamp\n\
00215 int32 id                                # used-specified track id\n\
00216 \n\
00217 geometry_msgs/Pose[] pose               # sequence of poses, defining the observed trajectory\n\
00218 std_msgs/Header[] pose_headers                   # Timestamp and frame for each pose (and pose_projected)\n\
00219 geometry_msgs/Pose[] pose_projected     # sequence of poses, projected to the model \n\
00220                                         # (after model evaluation)\n\
00221 geometry_msgs/Pose[] pose_resampled     # sequence of poses, re-sampled from the model in\n\
00222                                         # the valid configuration range\n\
00223 uint32[] pose_flags                     # bit-wise combination of POSE_VISIBLE and POSE_END_OF_SEGMENT\n\
00224 \n\
00225 uint32 POSE_VISIBLE=1\n\
00226 uint32 POSE_END_OF_SEGMENT=2\n\
00227 \n\
00228 # Each channel should have the same number of elements as pose array, \n\
00229 # and the data in each channel should correspond 1:1 with each pose\n\
00230 # possible channels: \"width\", \"height\", \"rgb\", ...\n\
00231 sensor_msgs/ChannelFloat32[] channels       \n\
00232 \n\
00233 \n\
00234 \n\
00235 ================================================================================\n\
00236 MSG: geometry_msgs/Pose\n\
00237 # A representation of pose in free space, composed of postion and orientation. \n\
00238 Point position\n\
00239 Quaternion orientation\n\
00240 \n\
00241 ================================================================================\n\
00242 MSG: geometry_msgs/Point\n\
00243 # This contains the position of a point in free space\n\
00244 float64 x\n\
00245 float64 y\n\
00246 float64 z\n\
00247 \n\
00248 ================================================================================\n\
00249 MSG: geometry_msgs/Quaternion\n\
00250 # This represents an orientation in free space in quaternion form.\n\
00251 \n\
00252 float64 x\n\
00253 float64 y\n\
00254 float64 z\n\
00255 float64 w\n\
00256 \n\
00257 ================================================================================\n\
00258 MSG: sensor_msgs/ChannelFloat32\n\
00259 # This message is used by the PointCloud message to hold optional data\n\
00260 # associated with each point in the cloud. The length of the values\n\
00261 # array should be the same as the length of the points array in the\n\
00262 # PointCloud, and each value should be associated with the corresponding\n\
00263 # point.\n\
00264 \n\
00265 # Channel names in existing practice include:\n\
00266 #   \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
00267 #              This is opposite to usual conventions but remains for\n\
00268 #              historical reasons. The newer PointCloud2 message has no\n\
00269 #              such problem.\n\
00270 #   \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
00271 #           (R,G,B) values packed into the least significant 24 bits,\n\
00272 #           in order.\n\
00273 #   \"intensity\" - laser or pixel intensity.\n\
00274 #   \"distance\"\n\
00275 \n\
00276 # The channel name should give semantics of the channel (e.g.\n\
00277 # \"intensity\" instead of \"value\").\n\
00278 string name\n\
00279 \n\
00280 # The values array should be 1-1 with the elements of the associated\n\
00281 # PointCloud.\n\
00282 float32[] values\n\
00283 \n\
00284 ";
00285   }
00286 
00287   static const char* value(const  ::articulation_msgs::ModelMsg_<ContainerAllocator> &) { return value(); } 
00288 };
00289 
00290 } // namespace message_traits
00291 } // namespace ros
00292 
00293 namespace ros
00294 {
00295 namespace serialization
00296 {
00297 
00298 template<class ContainerAllocator> struct Serializer< ::articulation_msgs::ModelMsg_<ContainerAllocator> >
00299 {
00300   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00301   {
00302     stream.next(m.header);
00303     stream.next(m.id);
00304     stream.next(m.name);
00305     stream.next(m.params);
00306     stream.next(m.track);
00307   }
00308 
00309   ROS_DECLARE_ALLINONE_SERIALIZER;
00310 }; // struct ModelMsg_
00311 } // namespace serialization
00312 } // namespace ros
00313 
00314 namespace ros
00315 {
00316 namespace message_operations
00317 {
00318 
00319 template<class ContainerAllocator>
00320 struct Printer< ::articulation_msgs::ModelMsg_<ContainerAllocator> >
00321 {
00322   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::articulation_msgs::ModelMsg_<ContainerAllocator> & v) 
00323   {
00324     s << indent << "header: ";
00325 s << std::endl;
00326     Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + "  ", v.header);
00327     s << indent << "id: ";
00328     Printer<int32_t>::stream(s, indent + "  ", v.id);
00329     s << indent << "name: ";
00330     Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.name);
00331     s << indent << "params[]" << std::endl;
00332     for (size_t i = 0; i < v.params.size(); ++i)
00333     {
00334       s << indent << "  params[" << i << "]: ";
00335       s << std::endl;
00336       s << indent;
00337       Printer< ::articulation_msgs::ParamMsg_<ContainerAllocator> >::stream(s, indent + "    ", v.params[i]);
00338     }
00339     s << indent << "track: ";
00340 s << std::endl;
00341     Printer< ::articulation_msgs::TrackMsg_<ContainerAllocator> >::stream(s, indent + "  ", v.track);
00342   }
00343 };
00344 
00345 
00346 } // namespace message_operations
00347 } // namespace ros
00348 
00349 #endif // ARTICULATION_MSGS_MESSAGE_MODELMSG_H
00350 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends


articulation_msgs
Author(s): Juergen Sturm
autogenerated on Wed Dec 26 2012 15:30:49