ApplyPointCloudFilter.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-fuerte-all-iri-ros.pub/doc_stacks/2013-12-06_19-37-16.229269/iri_perception_filters/iri_filter_jump_edge/srv/ApplyPointCloudFilter.srv */
00002 #ifndef IRI_FILTER_JUMP_EDGE_SERVICE_APPLYPOINTCLOUDFILTER_H
00003 #define IRI_FILTER_JUMP_EDGE_SERVICE_APPLYPOINTCLOUDFILTER_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 "sensor_msgs/PointCloud2.h"
00020 
00021 
00022 #include "sensor_msgs/PointCloud2.h"
00023 #include "sensor_msgs/PointCloud2.h"
00024 #include "sensor_msgs/Image.h"
00025 
00026 namespace iri_filter_jump_edge
00027 {
00028 template <class ContainerAllocator>
00029 struct ApplyPointCloudFilterRequest_ {
00030   typedef ApplyPointCloudFilterRequest_<ContainerAllocator> Type;
00031 
00032   ApplyPointCloudFilterRequest_()
00033   : input_pc()
00034   {
00035   }
00036 
00037   ApplyPointCloudFilterRequest_(const ContainerAllocator& _alloc)
00038   : input_pc(_alloc)
00039   {
00040   }
00041 
00042   typedef  ::sensor_msgs::PointCloud2_<ContainerAllocator>  _input_pc_type;
00043    ::sensor_msgs::PointCloud2_<ContainerAllocator>  input_pc;
00044 
00045 
00046   typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > Ptr;
00047   typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator>  const> ConstPtr;
00048   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00049 }; // struct ApplyPointCloudFilterRequest
00050 typedef  ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<std::allocator<void> > ApplyPointCloudFilterRequest;
00051 
00052 typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest> ApplyPointCloudFilterRequestPtr;
00053 typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest const> ApplyPointCloudFilterRequestConstPtr;
00054 
00055 
00056 template <class ContainerAllocator>
00057 struct ApplyPointCloudFilterResponse_ {
00058   typedef ApplyPointCloudFilterResponse_<ContainerAllocator> Type;
00059 
00060   ApplyPointCloudFilterResponse_()
00061   : filtered_pc()
00062   , residual_pc()
00063   , residual_img()
00064   {
00065   }
00066 
00067   ApplyPointCloudFilterResponse_(const ContainerAllocator& _alloc)
00068   : filtered_pc(_alloc)
00069   , residual_pc(_alloc)
00070   , residual_img(_alloc)
00071   {
00072   }
00073 
00074   typedef  ::sensor_msgs::PointCloud2_<ContainerAllocator>  _filtered_pc_type;
00075    ::sensor_msgs::PointCloud2_<ContainerAllocator>  filtered_pc;
00076 
00077   typedef  ::sensor_msgs::PointCloud2_<ContainerAllocator>  _residual_pc_type;
00078    ::sensor_msgs::PointCloud2_<ContainerAllocator>  residual_pc;
00079 
00080   typedef  ::sensor_msgs::Image_<ContainerAllocator>  _residual_img_type;
00081    ::sensor_msgs::Image_<ContainerAllocator>  residual_img;
00082 
00083 
00084   typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > Ptr;
00085   typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator>  const> ConstPtr;
00086   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00087 }; // struct ApplyPointCloudFilterResponse
00088 typedef  ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<std::allocator<void> > ApplyPointCloudFilterResponse;
00089 
00090 typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse> ApplyPointCloudFilterResponsePtr;
00091 typedef boost::shared_ptr< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse const> ApplyPointCloudFilterResponseConstPtr;
00092 
00093 struct ApplyPointCloudFilter
00094 {
00095 
00096 typedef ApplyPointCloudFilterRequest Request;
00097 typedef ApplyPointCloudFilterResponse Response;
00098 Request request;
00099 Response response;
00100 
00101 typedef Request RequestType;
00102 typedef Response ResponseType;
00103 }; // struct ApplyPointCloudFilter
00104 } // namespace iri_filter_jump_edge
00105 
00106 namespace ros
00107 {
00108 namespace message_traits
00109 {
00110 template<class ContainerAllocator> struct IsMessage< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > : public TrueType {};
00111 template<class ContainerAllocator> struct IsMessage< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator>  const> : public TrueType {};
00112 template<class ContainerAllocator>
00113 struct MD5Sum< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > {
00114   static const char* value() 
00115   {
00116     return "cc8a0ff70cde5ed9daa21011f9ebd9fc";
00117   }
00118 
00119   static const char* value(const  ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> &) { return value(); } 
00120   static const uint64_t static_value1 = 0xcc8a0ff70cde5ed9ULL;
00121   static const uint64_t static_value2 = 0xdaa21011f9ebd9fcULL;
00122 };
00123 
00124 template<class ContainerAllocator>
00125 struct DataType< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > {
00126   static const char* value() 
00127   {
00128     return "iri_filter_jump_edge/ApplyPointCloudFilterRequest";
00129   }
00130 
00131   static const char* value(const  ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> &) { return value(); } 
00132 };
00133 
00134 template<class ContainerAllocator>
00135 struct Definition< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > {
00136   static const char* value() 
00137   {
00138     return "\n\
00139 sensor_msgs/PointCloud2 input_pc\n\
00140 \n\
00141 ================================================================================\n\
00142 MSG: sensor_msgs/PointCloud2\n\
00143 # This message holds a collection of N-dimensional points, which may\n\
00144 # contain additional information such as normals, intensity, etc. The\n\
00145 # point data is stored as a binary blob, its layout described by the\n\
00146 # contents of the \"fields\" array.\n\
00147 \n\
00148 # The point cloud data may be organized 2d (image-like) or 1d\n\
00149 # (unordered). Point clouds organized as 2d images may be produced by\n\
00150 # camera depth sensors such as stereo or time-of-flight.\n\
00151 \n\
00152 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
00153 # points).\n\
00154 Header header\n\
00155 \n\
00156 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
00157 # 1 and width is the length of the point cloud.\n\
00158 uint32 height\n\
00159 uint32 width\n\
00160 \n\
00161 # Describes the channels and their layout in the binary data blob.\n\
00162 PointField[] fields\n\
00163 \n\
00164 bool    is_bigendian # Is this data bigendian?\n\
00165 uint32  point_step   # Length of a point in bytes\n\
00166 uint32  row_step     # Length of a row in bytes\n\
00167 uint8[] data         # Actual point data, size is (row_step*height)\n\
00168 \n\
00169 bool is_dense        # True if there are no invalid points\n\
00170 \n\
00171 ================================================================================\n\
00172 MSG: std_msgs/Header\n\
00173 # Standard metadata for higher-level stamped data types.\n\
00174 # This is generally used to communicate timestamped data \n\
00175 # in a particular coordinate frame.\n\
00176 # \n\
00177 # sequence ID: consecutively increasing ID \n\
00178 uint32 seq\n\
00179 #Two-integer timestamp that is expressed as:\n\
00180 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00181 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00182 # time-handling sugar is provided by the client library\n\
00183 time stamp\n\
00184 #Frame this data is associated with\n\
00185 # 0: no frame\n\
00186 # 1: global frame\n\
00187 string frame_id\n\
00188 \n\
00189 ================================================================================\n\
00190 MSG: sensor_msgs/PointField\n\
00191 # This message holds the description of one point entry in the\n\
00192 # PointCloud2 message format.\n\
00193 uint8 INT8    = 1\n\
00194 uint8 UINT8   = 2\n\
00195 uint8 INT16   = 3\n\
00196 uint8 UINT16  = 4\n\
00197 uint8 INT32   = 5\n\
00198 uint8 UINT32  = 6\n\
00199 uint8 FLOAT32 = 7\n\
00200 uint8 FLOAT64 = 8\n\
00201 \n\
00202 string name      # Name of field\n\
00203 uint32 offset    # Offset from start of point struct\n\
00204 uint8  datatype  # Datatype enumeration, see above\n\
00205 uint32 count     # How many elements in the field\n\
00206 \n\
00207 ";
00208   }
00209 
00210   static const char* value(const  ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> &) { return value(); } 
00211 };
00212 
00213 } // namespace message_traits
00214 } // namespace ros
00215 
00216 
00217 namespace ros
00218 {
00219 namespace message_traits
00220 {
00221 template<class ContainerAllocator> struct IsMessage< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > : public TrueType {};
00222 template<class ContainerAllocator> struct IsMessage< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator>  const> : public TrueType {};
00223 template<class ContainerAllocator>
00224 struct MD5Sum< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > {
00225   static const char* value() 
00226   {
00227     return "3dc41414c32aeee905433e8ab58b46a8";
00228   }
00229 
00230   static const char* value(const  ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> &) { return value(); } 
00231   static const uint64_t static_value1 = 0x3dc41414c32aeee9ULL;
00232   static const uint64_t static_value2 = 0x05433e8ab58b46a8ULL;
00233 };
00234 
00235 template<class ContainerAllocator>
00236 struct DataType< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > {
00237   static const char* value() 
00238   {
00239     return "iri_filter_jump_edge/ApplyPointCloudFilterResponse";
00240   }
00241 
00242   static const char* value(const  ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> &) { return value(); } 
00243 };
00244 
00245 template<class ContainerAllocator>
00246 struct Definition< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > {
00247   static const char* value() 
00248   {
00249     return "\n\
00250 sensor_msgs/PointCloud2 filtered_pc\n\
00251 sensor_msgs/PointCloud2 residual_pc\n\
00252 sensor_msgs/Image residual_img\n\
00253 \n\
00254 \n\
00255 ================================================================================\n\
00256 MSG: sensor_msgs/PointCloud2\n\
00257 # This message holds a collection of N-dimensional points, which may\n\
00258 # contain additional information such as normals, intensity, etc. The\n\
00259 # point data is stored as a binary blob, its layout described by the\n\
00260 # contents of the \"fields\" array.\n\
00261 \n\
00262 # The point cloud data may be organized 2d (image-like) or 1d\n\
00263 # (unordered). Point clouds organized as 2d images may be produced by\n\
00264 # camera depth sensors such as stereo or time-of-flight.\n\
00265 \n\
00266 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
00267 # points).\n\
00268 Header header\n\
00269 \n\
00270 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
00271 # 1 and width is the length of the point cloud.\n\
00272 uint32 height\n\
00273 uint32 width\n\
00274 \n\
00275 # Describes the channels and their layout in the binary data blob.\n\
00276 PointField[] fields\n\
00277 \n\
00278 bool    is_bigendian # Is this data bigendian?\n\
00279 uint32  point_step   # Length of a point in bytes\n\
00280 uint32  row_step     # Length of a row in bytes\n\
00281 uint8[] data         # Actual point data, size is (row_step*height)\n\
00282 \n\
00283 bool is_dense        # True if there are no invalid points\n\
00284 \n\
00285 ================================================================================\n\
00286 MSG: std_msgs/Header\n\
00287 # Standard metadata for higher-level stamped data types.\n\
00288 # This is generally used to communicate timestamped data \n\
00289 # in a particular coordinate frame.\n\
00290 # \n\
00291 # sequence ID: consecutively increasing ID \n\
00292 uint32 seq\n\
00293 #Two-integer timestamp that is expressed as:\n\
00294 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00295 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00296 # time-handling sugar is provided by the client library\n\
00297 time stamp\n\
00298 #Frame this data is associated with\n\
00299 # 0: no frame\n\
00300 # 1: global frame\n\
00301 string frame_id\n\
00302 \n\
00303 ================================================================================\n\
00304 MSG: sensor_msgs/PointField\n\
00305 # This message holds the description of one point entry in the\n\
00306 # PointCloud2 message format.\n\
00307 uint8 INT8    = 1\n\
00308 uint8 UINT8   = 2\n\
00309 uint8 INT16   = 3\n\
00310 uint8 UINT16  = 4\n\
00311 uint8 INT32   = 5\n\
00312 uint8 UINT32  = 6\n\
00313 uint8 FLOAT32 = 7\n\
00314 uint8 FLOAT64 = 8\n\
00315 \n\
00316 string name      # Name of field\n\
00317 uint32 offset    # Offset from start of point struct\n\
00318 uint8  datatype  # Datatype enumeration, see above\n\
00319 uint32 count     # How many elements in the field\n\
00320 \n\
00321 ================================================================================\n\
00322 MSG: sensor_msgs/Image\n\
00323 # This message contains an uncompressed image\n\
00324 # (0, 0) is at top-left corner of image\n\
00325 #\n\
00326 \n\
00327 Header header        # Header timestamp should be acquisition time of image\n\
00328                      # Header frame_id should be optical frame of camera\n\
00329                      # origin of frame should be optical center of cameara\n\
00330                      # +x should point to the right in the image\n\
00331                      # +y should point down in the image\n\
00332                      # +z should point into to plane of the image\n\
00333                      # If the frame_id here and the frame_id of the CameraInfo\n\
00334                      # message associated with the image conflict\n\
00335                      # the behavior is undefined\n\
00336 \n\
00337 uint32 height         # image height, that is, number of rows\n\
00338 uint32 width          # image width, that is, number of columns\n\
00339 \n\
00340 # The legal values for encoding are in file src/image_encodings.cpp\n\
00341 # If you want to standardize a new string format, join\n\
00342 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00343 \n\
00344 string encoding       # Encoding of pixels -- channel meaning, ordering, size\n\
00345                       # taken from the list of strings in src/image_encodings.cpp\n\
00346 \n\
00347 uint8 is_bigendian    # is this data bigendian?\n\
00348 uint32 step           # Full row length in bytes\n\
00349 uint8[] data          # actual matrix data, size is (step * rows)\n\
00350 \n\
00351 ";
00352   }
00353 
00354   static const char* value(const  ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> &) { return value(); } 
00355 };
00356 
00357 } // namespace message_traits
00358 } // namespace ros
00359 
00360 namespace ros
00361 {
00362 namespace serialization
00363 {
00364 
00365 template<class ContainerAllocator> struct Serializer< ::iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> >
00366 {
00367   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00368   {
00369     stream.next(m.input_pc);
00370   }
00371 
00372   ROS_DECLARE_ALLINONE_SERIALIZER;
00373 }; // struct ApplyPointCloudFilterRequest_
00374 } // namespace serialization
00375 } // namespace ros
00376 
00377 
00378 namespace ros
00379 {
00380 namespace serialization
00381 {
00382 
00383 template<class ContainerAllocator> struct Serializer< ::iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> >
00384 {
00385   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00386   {
00387     stream.next(m.filtered_pc);
00388     stream.next(m.residual_pc);
00389     stream.next(m.residual_img);
00390   }
00391 
00392   ROS_DECLARE_ALLINONE_SERIALIZER;
00393 }; // struct ApplyPointCloudFilterResponse_
00394 } // namespace serialization
00395 } // namespace ros
00396 
00397 namespace ros
00398 {
00399 namespace service_traits
00400 {
00401 template<>
00402 struct MD5Sum<iri_filter_jump_edge::ApplyPointCloudFilter> {
00403   static const char* value() 
00404   {
00405     return "e697fd905e25ed1dfb7581a727f2cb22";
00406   }
00407 
00408   static const char* value(const iri_filter_jump_edge::ApplyPointCloudFilter&) { return value(); } 
00409 };
00410 
00411 template<>
00412 struct DataType<iri_filter_jump_edge::ApplyPointCloudFilter> {
00413   static const char* value() 
00414   {
00415     return "iri_filter_jump_edge/ApplyPointCloudFilter";
00416   }
00417 
00418   static const char* value(const iri_filter_jump_edge::ApplyPointCloudFilter&) { return value(); } 
00419 };
00420 
00421 template<class ContainerAllocator>
00422 struct MD5Sum<iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > {
00423   static const char* value() 
00424   {
00425     return "e697fd905e25ed1dfb7581a727f2cb22";
00426   }
00427 
00428   static const char* value(const iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> &) { return value(); } 
00429 };
00430 
00431 template<class ContainerAllocator>
00432 struct DataType<iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> > {
00433   static const char* value() 
00434   {
00435     return "iri_filter_jump_edge/ApplyPointCloudFilter";
00436   }
00437 
00438   static const char* value(const iri_filter_jump_edge::ApplyPointCloudFilterRequest_<ContainerAllocator> &) { return value(); } 
00439 };
00440 
00441 template<class ContainerAllocator>
00442 struct MD5Sum<iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > {
00443   static const char* value() 
00444   {
00445     return "e697fd905e25ed1dfb7581a727f2cb22";
00446   }
00447 
00448   static const char* value(const iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> &) { return value(); } 
00449 };
00450 
00451 template<class ContainerAllocator>
00452 struct DataType<iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> > {
00453   static const char* value() 
00454   {
00455     return "iri_filter_jump_edge/ApplyPointCloudFilter";
00456   }
00457 
00458   static const char* value(const iri_filter_jump_edge::ApplyPointCloudFilterResponse_<ContainerAllocator> &) { return value(); } 
00459 };
00460 
00461 } // namespace service_traits
00462 } // namespace ros
00463 
00464 #endif // IRI_FILTER_JUMP_EDGE_SERVICE_APPLYPOINTCLOUDFILTER_H
00465 


iri_filter_jump_edge
Author(s): sfoix
autogenerated on Fri Dec 6 2013 21:56:12