AlignModelSrv.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/srv/AlignModelSrv.srv */
00002 #ifndef ARTICULATION_MSGS_SERVICE_ALIGNMODELSRV_H
00003 #define ARTICULATION_MSGS_SERVICE_ALIGNMODELSRV_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 "ros/service_traits.h"
00018 
00019 #include "articulation_msgs/ModelMsg.h"
00020 #include "articulation_msgs/ModelMsg.h"
00021 
00022 
00023 #include "articulation_msgs/ModelMsg.h"
00024 #include "articulation_msgs/ModelMsg.h"
00025 
00026 namespace articulation_msgs
00027 {
00028 template <class ContainerAllocator>
00029 struct AlignModelSrvRequest_ {
00030   typedef AlignModelSrvRequest_<ContainerAllocator> Type;
00031 
00032   AlignModelSrvRequest_()
00033   : model()
00034   , data()
00035   {
00036   }
00037 
00038   AlignModelSrvRequest_(const ContainerAllocator& _alloc)
00039   : model(_alloc)
00040   , data(_alloc)
00041   {
00042   }
00043 
00044   typedef  ::articulation_msgs::ModelMsg_<ContainerAllocator>  _model_type;
00045    ::articulation_msgs::ModelMsg_<ContainerAllocator>  model;
00046 
00047   typedef  ::articulation_msgs::ModelMsg_<ContainerAllocator>  _data_type;
00048    ::articulation_msgs::ModelMsg_<ContainerAllocator>  data;
00049 
00050 
00051   typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > Ptr;
00052   typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator>  const> ConstPtr;
00053   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00054 }; // struct AlignModelSrvRequest
00055 typedef  ::articulation_msgs::AlignModelSrvRequest_<std::allocator<void> > AlignModelSrvRequest;
00056 
00057 typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvRequest> AlignModelSrvRequestPtr;
00058 typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvRequest const> AlignModelSrvRequestConstPtr;
00059 
00060 
00061 template <class ContainerAllocator>
00062 struct AlignModelSrvResponse_ {
00063   typedef AlignModelSrvResponse_<ContainerAllocator> Type;
00064 
00065   AlignModelSrvResponse_()
00066   : model_aligned()
00067   , data_aligned()
00068   , R()
00069   , T()
00070   , dist_rot(0.0)
00071   , dist_trans(0.0)
00072   {
00073     R.assign(0.0);
00074     T.assign(0.0);
00075   }
00076 
00077   AlignModelSrvResponse_(const ContainerAllocator& _alloc)
00078   : model_aligned(_alloc)
00079   , data_aligned(_alloc)
00080   , R()
00081   , T()
00082   , dist_rot(0.0)
00083   , dist_trans(0.0)
00084   {
00085     R.assign(0.0);
00086     T.assign(0.0);
00087   }
00088 
00089   typedef  ::articulation_msgs::ModelMsg_<ContainerAllocator>  _model_aligned_type;
00090    ::articulation_msgs::ModelMsg_<ContainerAllocator>  model_aligned;
00091 
00092   typedef  ::articulation_msgs::ModelMsg_<ContainerAllocator>  _data_aligned_type;
00093    ::articulation_msgs::ModelMsg_<ContainerAllocator>  data_aligned;
00094 
00095   typedef boost::array<double, 9>  _R_type;
00096   boost::array<double, 9>  R;
00097 
00098   typedef boost::array<double, 3>  _T_type;
00099   boost::array<double, 3>  T;
00100 
00101   typedef double _dist_rot_type;
00102   double dist_rot;
00103 
00104   typedef float _dist_trans_type;
00105   float dist_trans;
00106 
00107 
00108   typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > Ptr;
00109   typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator>  const> ConstPtr;
00110   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00111 }; // struct AlignModelSrvResponse
00112 typedef  ::articulation_msgs::AlignModelSrvResponse_<std::allocator<void> > AlignModelSrvResponse;
00113 
00114 typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvResponse> AlignModelSrvResponsePtr;
00115 typedef boost::shared_ptr< ::articulation_msgs::AlignModelSrvResponse const> AlignModelSrvResponseConstPtr;
00116 
00117 struct AlignModelSrv
00118 {
00119 
00120 typedef AlignModelSrvRequest Request;
00121 typedef AlignModelSrvResponse Response;
00122 Request request;
00123 Response response;
00124 
00125 typedef Request RequestType;
00126 typedef Response ResponseType;
00127 }; // struct AlignModelSrv
00128 } // namespace articulation_msgs
00129 
00130 namespace ros
00131 {
00132 namespace message_traits
00133 {
00134 template<class ContainerAllocator> struct IsMessage< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > : public TrueType {};
00135 template<class ContainerAllocator> struct IsMessage< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator>  const> : public TrueType {};
00136 template<class ContainerAllocator>
00137 struct MD5Sum< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > {
00138   static const char* value() 
00139   {
00140     return "5c799f696feeb9619c32ac4dd7352a60";
00141   }
00142 
00143   static const char* value(const  ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> &) { return value(); } 
00144   static const uint64_t static_value1 = 0x5c799f696feeb961ULL;
00145   static const uint64_t static_value2 = 0x9c32ac4dd7352a60ULL;
00146 };
00147 
00148 template<class ContainerAllocator>
00149 struct DataType< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > {
00150   static const char* value() 
00151   {
00152     return "articulation_msgs/AlignModelSrvRequest";
00153   }
00154 
00155   static const char* value(const  ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> &) { return value(); } 
00156 };
00157 
00158 template<class ContainerAllocator>
00159 struct Definition< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > {
00160   static const char* value() 
00161   {
00162     return "\n\
00163 \n\
00164 \n\
00165 \n\
00166 \n\
00167 \n\
00168 \n\
00169 articulation_msgs/ModelMsg model\n\
00170 articulation_msgs/ModelMsg data\n\
00171 \n\
00172 ================================================================================\n\
00173 MSG: articulation_msgs/ModelMsg\n\
00174 # Single kinematic model\n\
00175 #\n\
00176 # A kinematic model is defined by its model class name, and a set of parameters. \n\
00177 # The client may additionally specify a model id, that can be used to colorize the\n\
00178 # model when visualized using the RVIZ model display.\n\
00179 # \n\
00180 # For a list of currently implemented models, see the documetation at\n\
00181 # http://www.ros.org/wiki/articulation_models\n\
00182 #\n\
00183 #\n\
00184 \n\
00185 std_msgs/Header header                        # frame and timestamp\n\
00186 \n\
00187 int32 id                             # user specified model id\n\
00188 string name                          # name of the model family (e.g. \"rotational\",\n\
00189                                      # \"prismatic\", \"pca-gp\", \"rigid\")\n\
00190 articulation_msgs/ParamMsg[] params  # model parameters\n\
00191 articulation_msgs/TrackMsg track     # trajectory from which the model is estimated, or\n\
00192                                      # that is evaluated using the model\n\
00193 \n\
00194 ================================================================================\n\
00195 MSG: std_msgs/Header\n\
00196 # Standard metadata for higher-level stamped data types.\n\
00197 # This is generally used to communicate timestamped data \n\
00198 # in a particular coordinate frame.\n\
00199 # \n\
00200 # sequence ID: consecutively increasing ID \n\
00201 uint32 seq\n\
00202 #Two-integer timestamp that is expressed as:\n\
00203 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00204 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00205 # time-handling sugar is provided by the client library\n\
00206 time stamp\n\
00207 #Frame this data is associated with\n\
00208 # 0: no frame\n\
00209 # 1: global frame\n\
00210 string frame_id\n\
00211 \n\
00212 ================================================================================\n\
00213 MSG: articulation_msgs/ParamMsg\n\
00214 # Single parameter passed to or from model fitting\n\
00215 #\n\
00216 # This mechanism allows to flexibly pass parameters to \n\
00217 # model fitting (and vice versa). Note that these parameters \n\
00218 # are model-specific: A client may supply additional\n\
00219 # parameters to the model estimator, and, similarly, a estimator\n\
00220 # may add the estimated model parameters to the model message.\n\
00221 # When the model is then evaluated, for example to make predictions\n\
00222 # or to compute the likelihood, the model class can then use\n\
00223 # these parameters.\n\
00224 #\n\
00225 # A parameter has a name, a value, and a type. The type globally\n\
00226 # indicates whether it is a prior parameter (prior to model fitting),\n\
00227 # or a model parameter (found during model fitting, using a maximum-\n\
00228 # likelihood estimator), or a cached evaluation (e.g., the likelihood\n\
00229 # or the BIC are a typical \"side\"-product of model estimation, and\n\
00230 # can therefore already be cached).\n\
00231 #\n\
00232 # For a list of currently used parameters, see the documentation at\n\
00233 # http://www.ros.org/wiki/articulation_models\n\
00234 #\n\
00235 \n\
00236 uint8 PRIOR=0   # indicates a prior model parameter \n\
00237                 # (e.g., \"sigma_position\")\n\
00238 uint8 PARAM=1   # indicates a estimated model parameter \n\
00239                 # (e.g., \"rot_radius\", the estimated radius)\n\
00240 uint8 EVAL=2    # indicates a cached evaluation of the model, given \n\
00241                 # the current trajectory\n\
00242                 # (e.g., \"loglikelihood\", the log likelihood of the\n\
00243                 # data, given the model and its parameters)\n\
00244 \n\
00245 string name     # name of the parameter\n\
00246 float64 value   # value of the parameter\n\
00247 uint8 type      # type of the parameter (PRIOR, PARAM, EVAL)\n\
00248 \n\
00249 \n\
00250 ================================================================================\n\
00251 MSG: articulation_msgs/TrackMsg\n\
00252 # Single kinematic trajectory\n\
00253 #\n\
00254 # This message contains a kinematic trajectory. The trajectory is specified\n\
00255 # as a vector of 6D poses. An additional flag, track_type, indicates whether\n\
00256 # the track is valid, and whether it includes orientation. The track id\n\
00257 # can be used for automatic coloring in the RVIZ track plugin, and can be \n\
00258 # freely chosen by the client. \n\
00259 #\n\
00260 # A model is fitting only from the trajectory stored in the pose[]-vector. \n\
00261 # Additional information may be associated to each pose using the channels\n\
00262 # vector, with arbitrary # fields (e.g., to include applied/measured forces). \n\
00263 #\n\
00264 # After model evaluation,\n\
00265 # also the associated configurations of the object are stored in the channels,\n\
00266 # named \"q[0]\"..\"q[DOF-1]\", where DOF is the number of degrees of freedom.\n\
00267 # Model evaluation also projects the poses in the pose vector onto the model,\n\
00268 # and stores these ideal poses in the vector pose_projected. Further, during model\n\
00269 # evaluation, a new set of (uniform) configurations over the valid configuration\n\
00270 # range is sampled, and the result is stored in pose_resampled.\n\
00271 # The vector pose_flags contains additional display flags for the poses in the\n\
00272 # pose vector, for example, whether a pose is visible and/or\n\
00273 # the end of a trajectory segment. At the moment, this is only used by the\n\
00274 # prior_model_learner.\n\
00275 #\n\
00276 \n\
00277 std_msgs/Header header                        # frame and timestamp\n\
00278 int32 id                                # used-specified track id\n\
00279 \n\
00280 geometry_msgs/Pose[] pose               # sequence of poses, defining the observed trajectory\n\
00281 std_msgs/Header[] pose_headers                   # Timestamp and frame for each pose (and pose_projected)\n\
00282 geometry_msgs/Pose[] pose_projected     # sequence of poses, projected to the model \n\
00283                                         # (after model evaluation)\n\
00284 geometry_msgs/Pose[] pose_resampled     # sequence of poses, re-sampled from the model in\n\
00285                                         # the valid configuration range\n\
00286 uint32[] pose_flags                     # bit-wise combination of POSE_VISIBLE and POSE_END_OF_SEGMENT\n\
00287 \n\
00288 uint32 POSE_VISIBLE=1\n\
00289 uint32 POSE_END_OF_SEGMENT=2\n\
00290 \n\
00291 # Each channel should have the same number of elements as pose array, \n\
00292 # and the data in each channel should correspond 1:1 with each pose\n\
00293 # possible channels: \"width\", \"height\", \"rgb\", ...\n\
00294 sensor_msgs/ChannelFloat32[] channels       \n\
00295 \n\
00296 \n\
00297 \n\
00298 ================================================================================\n\
00299 MSG: geometry_msgs/Pose\n\
00300 # A representation of pose in free space, composed of postion and orientation. \n\
00301 Point position\n\
00302 Quaternion orientation\n\
00303 \n\
00304 ================================================================================\n\
00305 MSG: geometry_msgs/Point\n\
00306 # This contains the position of a point in free space\n\
00307 float64 x\n\
00308 float64 y\n\
00309 float64 z\n\
00310 \n\
00311 ================================================================================\n\
00312 MSG: geometry_msgs/Quaternion\n\
00313 # This represents an orientation in free space in quaternion form.\n\
00314 \n\
00315 float64 x\n\
00316 float64 y\n\
00317 float64 z\n\
00318 float64 w\n\
00319 \n\
00320 ================================================================================\n\
00321 MSG: sensor_msgs/ChannelFloat32\n\
00322 # This message is used by the PointCloud message to hold optional data\n\
00323 # associated with each point in the cloud. The length of the values\n\
00324 # array should be the same as the length of the points array in the\n\
00325 # PointCloud, and each value should be associated with the corresponding\n\
00326 # point.\n\
00327 \n\
00328 # Channel names in existing practice include:\n\
00329 #   \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
00330 #              This is opposite to usual conventions but remains for\n\
00331 #              historical reasons. The newer PointCloud2 message has no\n\
00332 #              such problem.\n\
00333 #   \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
00334 #           (R,G,B) values packed into the least significant 24 bits,\n\
00335 #           in order.\n\
00336 #   \"intensity\" - laser or pixel intensity.\n\
00337 #   \"distance\"\n\
00338 \n\
00339 # The channel name should give semantics of the channel (e.g.\n\
00340 # \"intensity\" instead of \"value\").\n\
00341 string name\n\
00342 \n\
00343 # The values array should be 1-1 with the elements of the associated\n\
00344 # PointCloud.\n\
00345 float32[] values\n\
00346 \n\
00347 ";
00348   }
00349 
00350   static const char* value(const  ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> &) { return value(); } 
00351 };
00352 
00353 } // namespace message_traits
00354 } // namespace ros
00355 
00356 
00357 namespace ros
00358 {
00359 namespace message_traits
00360 {
00361 template<class ContainerAllocator> struct IsMessage< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > : public TrueType {};
00362 template<class ContainerAllocator> struct IsMessage< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator>  const> : public TrueType {};
00363 template<class ContainerAllocator>
00364 struct MD5Sum< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > {
00365   static const char* value() 
00366   {
00367     return "244fd493a4121569c1e4d870714e7fc3";
00368   }
00369 
00370   static const char* value(const  ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> &) { return value(); } 
00371   static const uint64_t static_value1 = 0x244fd493a4121569ULL;
00372   static const uint64_t static_value2 = 0xc1e4d870714e7fc3ULL;
00373 };
00374 
00375 template<class ContainerAllocator>
00376 struct DataType< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > {
00377   static const char* value() 
00378   {
00379     return "articulation_msgs/AlignModelSrvResponse";
00380   }
00381 
00382   static const char* value(const  ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> &) { return value(); } 
00383 };
00384 
00385 template<class ContainerAllocator>
00386 struct Definition< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > {
00387   static const char* value() 
00388   {
00389     return "articulation_msgs/ModelMsg model_aligned\n\
00390 \n\
00391 \n\
00392 articulation_msgs/ModelMsg data_aligned\n\
00393 \n\
00394 \n\
00395 float64[9] R\n\
00396 float64[3] T\n\
00397 float64 dist_rot\n\
00398 float32 dist_trans\n\
00399 \n\
00400 \n\
00401 \n\
00402 ================================================================================\n\
00403 MSG: articulation_msgs/ModelMsg\n\
00404 # Single kinematic model\n\
00405 #\n\
00406 # A kinematic model is defined by its model class name, and a set of parameters. \n\
00407 # The client may additionally specify a model id, that can be used to colorize the\n\
00408 # model when visualized using the RVIZ model display.\n\
00409 # \n\
00410 # For a list of currently implemented models, see the documetation at\n\
00411 # http://www.ros.org/wiki/articulation_models\n\
00412 #\n\
00413 #\n\
00414 \n\
00415 std_msgs/Header header                        # frame and timestamp\n\
00416 \n\
00417 int32 id                             # user specified model id\n\
00418 string name                          # name of the model family (e.g. \"rotational\",\n\
00419                                      # \"prismatic\", \"pca-gp\", \"rigid\")\n\
00420 articulation_msgs/ParamMsg[] params  # model parameters\n\
00421 articulation_msgs/TrackMsg track     # trajectory from which the model is estimated, or\n\
00422                                      # that is evaluated using the model\n\
00423 \n\
00424 ================================================================================\n\
00425 MSG: std_msgs/Header\n\
00426 # Standard metadata for higher-level stamped data types.\n\
00427 # This is generally used to communicate timestamped data \n\
00428 # in a particular coordinate frame.\n\
00429 # \n\
00430 # sequence ID: consecutively increasing ID \n\
00431 uint32 seq\n\
00432 #Two-integer timestamp that is expressed as:\n\
00433 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00434 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00435 # time-handling sugar is provided by the client library\n\
00436 time stamp\n\
00437 #Frame this data is associated with\n\
00438 # 0: no frame\n\
00439 # 1: global frame\n\
00440 string frame_id\n\
00441 \n\
00442 ================================================================================\n\
00443 MSG: articulation_msgs/ParamMsg\n\
00444 # Single parameter passed to or from model fitting\n\
00445 #\n\
00446 # This mechanism allows to flexibly pass parameters to \n\
00447 # model fitting (and vice versa). Note that these parameters \n\
00448 # are model-specific: A client may supply additional\n\
00449 # parameters to the model estimator, and, similarly, a estimator\n\
00450 # may add the estimated model parameters to the model message.\n\
00451 # When the model is then evaluated, for example to make predictions\n\
00452 # or to compute the likelihood, the model class can then use\n\
00453 # these parameters.\n\
00454 #\n\
00455 # A parameter has a name, a value, and a type. The type globally\n\
00456 # indicates whether it is a prior parameter (prior to model fitting),\n\
00457 # or a model parameter (found during model fitting, using a maximum-\n\
00458 # likelihood estimator), or a cached evaluation (e.g., the likelihood\n\
00459 # or the BIC are a typical \"side\"-product of model estimation, and\n\
00460 # can therefore already be cached).\n\
00461 #\n\
00462 # For a list of currently used parameters, see the documentation at\n\
00463 # http://www.ros.org/wiki/articulation_models\n\
00464 #\n\
00465 \n\
00466 uint8 PRIOR=0   # indicates a prior model parameter \n\
00467                 # (e.g., \"sigma_position\")\n\
00468 uint8 PARAM=1   # indicates a estimated model parameter \n\
00469                 # (e.g., \"rot_radius\", the estimated radius)\n\
00470 uint8 EVAL=2    # indicates a cached evaluation of the model, given \n\
00471                 # the current trajectory\n\
00472                 # (e.g., \"loglikelihood\", the log likelihood of the\n\
00473                 # data, given the model and its parameters)\n\
00474 \n\
00475 string name     # name of the parameter\n\
00476 float64 value   # value of the parameter\n\
00477 uint8 type      # type of the parameter (PRIOR, PARAM, EVAL)\n\
00478 \n\
00479 \n\
00480 ================================================================================\n\
00481 MSG: articulation_msgs/TrackMsg\n\
00482 # Single kinematic trajectory\n\
00483 #\n\
00484 # This message contains a kinematic trajectory. The trajectory is specified\n\
00485 # as a vector of 6D poses. An additional flag, track_type, indicates whether\n\
00486 # the track is valid, and whether it includes orientation. The track id\n\
00487 # can be used for automatic coloring in the RVIZ track plugin, and can be \n\
00488 # freely chosen by the client. \n\
00489 #\n\
00490 # A model is fitting only from the trajectory stored in the pose[]-vector. \n\
00491 # Additional information may be associated to each pose using the channels\n\
00492 # vector, with arbitrary # fields (e.g., to include applied/measured forces). \n\
00493 #\n\
00494 # After model evaluation,\n\
00495 # also the associated configurations of the object are stored in the channels,\n\
00496 # named \"q[0]\"..\"q[DOF-1]\", where DOF is the number of degrees of freedom.\n\
00497 # Model evaluation also projects the poses in the pose vector onto the model,\n\
00498 # and stores these ideal poses in the vector pose_projected. Further, during model\n\
00499 # evaluation, a new set of (uniform) configurations over the valid configuration\n\
00500 # range is sampled, and the result is stored in pose_resampled.\n\
00501 # The vector pose_flags contains additional display flags for the poses in the\n\
00502 # pose vector, for example, whether a pose is visible and/or\n\
00503 # the end of a trajectory segment. At the moment, this is only used by the\n\
00504 # prior_model_learner.\n\
00505 #\n\
00506 \n\
00507 std_msgs/Header header                        # frame and timestamp\n\
00508 int32 id                                # used-specified track id\n\
00509 \n\
00510 geometry_msgs/Pose[] pose               # sequence of poses, defining the observed trajectory\n\
00511 std_msgs/Header[] pose_headers                   # Timestamp and frame for each pose (and pose_projected)\n\
00512 geometry_msgs/Pose[] pose_projected     # sequence of poses, projected to the model \n\
00513                                         # (after model evaluation)\n\
00514 geometry_msgs/Pose[] pose_resampled     # sequence of poses, re-sampled from the model in\n\
00515                                         # the valid configuration range\n\
00516 uint32[] pose_flags                     # bit-wise combination of POSE_VISIBLE and POSE_END_OF_SEGMENT\n\
00517 \n\
00518 uint32 POSE_VISIBLE=1\n\
00519 uint32 POSE_END_OF_SEGMENT=2\n\
00520 \n\
00521 # Each channel should have the same number of elements as pose array, \n\
00522 # and the data in each channel should correspond 1:1 with each pose\n\
00523 # possible channels: \"width\", \"height\", \"rgb\", ...\n\
00524 sensor_msgs/ChannelFloat32[] channels       \n\
00525 \n\
00526 \n\
00527 \n\
00528 ================================================================================\n\
00529 MSG: geometry_msgs/Pose\n\
00530 # A representation of pose in free space, composed of postion and orientation. \n\
00531 Point position\n\
00532 Quaternion orientation\n\
00533 \n\
00534 ================================================================================\n\
00535 MSG: geometry_msgs/Point\n\
00536 # This contains the position of a point in free space\n\
00537 float64 x\n\
00538 float64 y\n\
00539 float64 z\n\
00540 \n\
00541 ================================================================================\n\
00542 MSG: geometry_msgs/Quaternion\n\
00543 # This represents an orientation in free space in quaternion form.\n\
00544 \n\
00545 float64 x\n\
00546 float64 y\n\
00547 float64 z\n\
00548 float64 w\n\
00549 \n\
00550 ================================================================================\n\
00551 MSG: sensor_msgs/ChannelFloat32\n\
00552 # This message is used by the PointCloud message to hold optional data\n\
00553 # associated with each point in the cloud. The length of the values\n\
00554 # array should be the same as the length of the points array in the\n\
00555 # PointCloud, and each value should be associated with the corresponding\n\
00556 # point.\n\
00557 \n\
00558 # Channel names in existing practice include:\n\
00559 #   \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\
00560 #              This is opposite to usual conventions but remains for\n\
00561 #              historical reasons. The newer PointCloud2 message has no\n\
00562 #              such problem.\n\
00563 #   \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\
00564 #           (R,G,B) values packed into the least significant 24 bits,\n\
00565 #           in order.\n\
00566 #   \"intensity\" - laser or pixel intensity.\n\
00567 #   \"distance\"\n\
00568 \n\
00569 # The channel name should give semantics of the channel (e.g.\n\
00570 # \"intensity\" instead of \"value\").\n\
00571 string name\n\
00572 \n\
00573 # The values array should be 1-1 with the elements of the associated\n\
00574 # PointCloud.\n\
00575 float32[] values\n\
00576 \n\
00577 ";
00578   }
00579 
00580   static const char* value(const  ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> &) { return value(); } 
00581 };
00582 
00583 } // namespace message_traits
00584 } // namespace ros
00585 
00586 namespace ros
00587 {
00588 namespace serialization
00589 {
00590 
00591 template<class ContainerAllocator> struct Serializer< ::articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> >
00592 {
00593   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00594   {
00595     stream.next(m.model);
00596     stream.next(m.data);
00597   }
00598 
00599   ROS_DECLARE_ALLINONE_SERIALIZER;
00600 }; // struct AlignModelSrvRequest_
00601 } // namespace serialization
00602 } // namespace ros
00603 
00604 
00605 namespace ros
00606 {
00607 namespace serialization
00608 {
00609 
00610 template<class ContainerAllocator> struct Serializer< ::articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> >
00611 {
00612   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00613   {
00614     stream.next(m.model_aligned);
00615     stream.next(m.data_aligned);
00616     stream.next(m.R);
00617     stream.next(m.T);
00618     stream.next(m.dist_rot);
00619     stream.next(m.dist_trans);
00620   }
00621 
00622   ROS_DECLARE_ALLINONE_SERIALIZER;
00623 }; // struct AlignModelSrvResponse_
00624 } // namespace serialization
00625 } // namespace ros
00626 
00627 namespace ros
00628 {
00629 namespace service_traits
00630 {
00631 template<>
00632 struct MD5Sum<articulation_msgs::AlignModelSrv> {
00633   static const char* value() 
00634   {
00635     return "72514be7b9552a12ceffcc5039c793f3";
00636   }
00637 
00638   static const char* value(const articulation_msgs::AlignModelSrv&) { return value(); } 
00639 };
00640 
00641 template<>
00642 struct DataType<articulation_msgs::AlignModelSrv> {
00643   static const char* value() 
00644   {
00645     return "articulation_msgs/AlignModelSrv";
00646   }
00647 
00648   static const char* value(const articulation_msgs::AlignModelSrv&) { return value(); } 
00649 };
00650 
00651 template<class ContainerAllocator>
00652 struct MD5Sum<articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > {
00653   static const char* value() 
00654   {
00655     return "72514be7b9552a12ceffcc5039c793f3";
00656   }
00657 
00658   static const char* value(const articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> &) { return value(); } 
00659 };
00660 
00661 template<class ContainerAllocator>
00662 struct DataType<articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> > {
00663   static const char* value() 
00664   {
00665     return "articulation_msgs/AlignModelSrv";
00666   }
00667 
00668   static const char* value(const articulation_msgs::AlignModelSrvRequest_<ContainerAllocator> &) { return value(); } 
00669 };
00670 
00671 template<class ContainerAllocator>
00672 struct MD5Sum<articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > {
00673   static const char* value() 
00674   {
00675     return "72514be7b9552a12ceffcc5039c793f3";
00676   }
00677 
00678   static const char* value(const articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> &) { return value(); } 
00679 };
00680 
00681 template<class ContainerAllocator>
00682 struct DataType<articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> > {
00683   static const char* value() 
00684   {
00685     return "articulation_msgs/AlignModelSrv";
00686   }
00687 
00688   static const char* value(const articulation_msgs::AlignModelSrvResponse_<ContainerAllocator> &) { return value(); } 
00689 };
00690 
00691 } // namespace service_traits
00692 } // namespace ros
00693 
00694 #endif // ARTICULATION_MSGS_SERVICE_ALIGNMODELSRV_H
00695 
 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