00001 """autogenerated by genpy from iri_filter_jump_edge/ApplyPointCloudFilterRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import std_msgs.msg
00008 import sensor_msgs.msg
00009
00010 class ApplyPointCloudFilterRequest(genpy.Message):
00011 _md5sum = "cc8a0ff70cde5ed9daa21011f9ebd9fc"
00012 _type = "iri_filter_jump_edge/ApplyPointCloudFilterRequest"
00013 _has_header = False
00014 _full_text = """
00015 sensor_msgs/PointCloud2 input_pc
00016
00017 ================================================================================
00018 MSG: sensor_msgs/PointCloud2
00019 # This message holds a collection of N-dimensional points, which may
00020 # contain additional information such as normals, intensity, etc. The
00021 # point data is stored as a binary blob, its layout described by the
00022 # contents of the "fields" array.
00023
00024 # The point cloud data may be organized 2d (image-like) or 1d
00025 # (unordered). Point clouds organized as 2d images may be produced by
00026 # camera depth sensors such as stereo or time-of-flight.
00027
00028 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00029 # points).
00030 Header header
00031
00032 # 2D structure of the point cloud. If the cloud is unordered, height is
00033 # 1 and width is the length of the point cloud.
00034 uint32 height
00035 uint32 width
00036
00037 # Describes the channels and their layout in the binary data blob.
00038 PointField[] fields
00039
00040 bool is_bigendian # Is this data bigendian?
00041 uint32 point_step # Length of a point in bytes
00042 uint32 row_step # Length of a row in bytes
00043 uint8[] data # Actual point data, size is (row_step*height)
00044
00045 bool is_dense # True if there are no invalid points
00046
00047 ================================================================================
00048 MSG: std_msgs/Header
00049 # Standard metadata for higher-level stamped data types.
00050 # This is generally used to communicate timestamped data
00051 # in a particular coordinate frame.
00052 #
00053 # sequence ID: consecutively increasing ID
00054 uint32 seq
00055 #Two-integer timestamp that is expressed as:
00056 # * stamp.secs: seconds (stamp_secs) since epoch
00057 # * stamp.nsecs: nanoseconds since stamp_secs
00058 # time-handling sugar is provided by the client library
00059 time stamp
00060 #Frame this data is associated with
00061 # 0: no frame
00062 # 1: global frame
00063 string frame_id
00064
00065 ================================================================================
00066 MSG: sensor_msgs/PointField
00067 # This message holds the description of one point entry in the
00068 # PointCloud2 message format.
00069 uint8 INT8 = 1
00070 uint8 UINT8 = 2
00071 uint8 INT16 = 3
00072 uint8 UINT16 = 4
00073 uint8 INT32 = 5
00074 uint8 UINT32 = 6
00075 uint8 FLOAT32 = 7
00076 uint8 FLOAT64 = 8
00077
00078 string name # Name of field
00079 uint32 offset # Offset from start of point struct
00080 uint8 datatype # Datatype enumeration, see above
00081 uint32 count # How many elements in the field
00082
00083 """
00084 __slots__ = ['input_pc']
00085 _slot_types = ['sensor_msgs/PointCloud2']
00086
00087 def __init__(self, *args, **kwds):
00088 """
00089 Constructor. Any message fields that are implicitly/explicitly
00090 set to None will be assigned a default value. The recommend
00091 use is keyword arguments as this is more robust to future message
00092 changes. You cannot mix in-order arguments and keyword arguments.
00093
00094 The available fields are:
00095 input_pc
00096
00097 :param args: complete set of field values, in .msg order
00098 :param kwds: use keyword arguments corresponding to message field names
00099 to set specific fields.
00100 """
00101 if args or kwds:
00102 super(ApplyPointCloudFilterRequest, self).__init__(*args, **kwds)
00103
00104 if self.input_pc is None:
00105 self.input_pc = sensor_msgs.msg.PointCloud2()
00106 else:
00107 self.input_pc = sensor_msgs.msg.PointCloud2()
00108
00109 def _get_types(self):
00110 """
00111 internal API method
00112 """
00113 return self._slot_types
00114
00115 def serialize(self, buff):
00116 """
00117 serialize message into buffer
00118 :param buff: buffer, ``StringIO``
00119 """
00120 try:
00121 _x = self
00122 buff.write(_struct_3I.pack(_x.input_pc.header.seq, _x.input_pc.header.stamp.secs, _x.input_pc.header.stamp.nsecs))
00123 _x = self.input_pc.header.frame_id
00124 length = len(_x)
00125 if python3 or type(_x) == unicode:
00126 _x = _x.encode('utf-8')
00127 length = len(_x)
00128 buff.write(struct.pack('<I%ss'%length, length, _x))
00129 _x = self
00130 buff.write(_struct_2I.pack(_x.input_pc.height, _x.input_pc.width))
00131 length = len(self.input_pc.fields)
00132 buff.write(_struct_I.pack(length))
00133 for val1 in self.input_pc.fields:
00134 _x = val1.name
00135 length = len(_x)
00136 if python3 or type(_x) == unicode:
00137 _x = _x.encode('utf-8')
00138 length = len(_x)
00139 buff.write(struct.pack('<I%ss'%length, length, _x))
00140 _x = val1
00141 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00142 _x = self
00143 buff.write(_struct_B2I.pack(_x.input_pc.is_bigendian, _x.input_pc.point_step, _x.input_pc.row_step))
00144 _x = self.input_pc.data
00145 length = len(_x)
00146
00147 if type(_x) in [list, tuple]:
00148 buff.write(struct.pack('<I%sB'%length, length, *_x))
00149 else:
00150 buff.write(struct.pack('<I%ss'%length, length, _x))
00151 buff.write(_struct_B.pack(self.input_pc.is_dense))
00152 except struct.error as se: self._check_types(se)
00153 except TypeError as te: self._check_types(te)
00154
00155 def deserialize(self, str):
00156 """
00157 unpack serialized message in str into this message instance
00158 :param str: byte array of serialized message, ``str``
00159 """
00160 try:
00161 if self.input_pc is None:
00162 self.input_pc = sensor_msgs.msg.PointCloud2()
00163 end = 0
00164 _x = self
00165 start = end
00166 end += 12
00167 (_x.input_pc.header.seq, _x.input_pc.header.stamp.secs, _x.input_pc.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00168 start = end
00169 end += 4
00170 (length,) = _struct_I.unpack(str[start:end])
00171 start = end
00172 end += length
00173 if python3:
00174 self.input_pc.header.frame_id = str[start:end].decode('utf-8')
00175 else:
00176 self.input_pc.header.frame_id = str[start:end]
00177 _x = self
00178 start = end
00179 end += 8
00180 (_x.input_pc.height, _x.input_pc.width,) = _struct_2I.unpack(str[start:end])
00181 start = end
00182 end += 4
00183 (length,) = _struct_I.unpack(str[start:end])
00184 self.input_pc.fields = []
00185 for i in range(0, length):
00186 val1 = sensor_msgs.msg.PointField()
00187 start = end
00188 end += 4
00189 (length,) = _struct_I.unpack(str[start:end])
00190 start = end
00191 end += length
00192 if python3:
00193 val1.name = str[start:end].decode('utf-8')
00194 else:
00195 val1.name = str[start:end]
00196 _x = val1
00197 start = end
00198 end += 9
00199 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00200 self.input_pc.fields.append(val1)
00201 _x = self
00202 start = end
00203 end += 9
00204 (_x.input_pc.is_bigendian, _x.input_pc.point_step, _x.input_pc.row_step,) = _struct_B2I.unpack(str[start:end])
00205 self.input_pc.is_bigendian = bool(self.input_pc.is_bigendian)
00206 start = end
00207 end += 4
00208 (length,) = _struct_I.unpack(str[start:end])
00209 start = end
00210 end += length
00211 if python3:
00212 self.input_pc.data = str[start:end].decode('utf-8')
00213 else:
00214 self.input_pc.data = str[start:end]
00215 start = end
00216 end += 1
00217 (self.input_pc.is_dense,) = _struct_B.unpack(str[start:end])
00218 self.input_pc.is_dense = bool(self.input_pc.is_dense)
00219 return self
00220 except struct.error as e:
00221 raise genpy.DeserializationError(e)
00222
00223
00224 def serialize_numpy(self, buff, numpy):
00225 """
00226 serialize message with numpy array types into buffer
00227 :param buff: buffer, ``StringIO``
00228 :param numpy: numpy python module
00229 """
00230 try:
00231 _x = self
00232 buff.write(_struct_3I.pack(_x.input_pc.header.seq, _x.input_pc.header.stamp.secs, _x.input_pc.header.stamp.nsecs))
00233 _x = self.input_pc.header.frame_id
00234 length = len(_x)
00235 if python3 or type(_x) == unicode:
00236 _x = _x.encode('utf-8')
00237 length = len(_x)
00238 buff.write(struct.pack('<I%ss'%length, length, _x))
00239 _x = self
00240 buff.write(_struct_2I.pack(_x.input_pc.height, _x.input_pc.width))
00241 length = len(self.input_pc.fields)
00242 buff.write(_struct_I.pack(length))
00243 for val1 in self.input_pc.fields:
00244 _x = val1.name
00245 length = len(_x)
00246 if python3 or type(_x) == unicode:
00247 _x = _x.encode('utf-8')
00248 length = len(_x)
00249 buff.write(struct.pack('<I%ss'%length, length, _x))
00250 _x = val1
00251 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00252 _x = self
00253 buff.write(_struct_B2I.pack(_x.input_pc.is_bigendian, _x.input_pc.point_step, _x.input_pc.row_step))
00254 _x = self.input_pc.data
00255 length = len(_x)
00256
00257 if type(_x) in [list, tuple]:
00258 buff.write(struct.pack('<I%sB'%length, length, *_x))
00259 else:
00260 buff.write(struct.pack('<I%ss'%length, length, _x))
00261 buff.write(_struct_B.pack(self.input_pc.is_dense))
00262 except struct.error as se: self._check_types(se)
00263 except TypeError as te: self._check_types(te)
00264
00265 def deserialize_numpy(self, str, numpy):
00266 """
00267 unpack serialized message in str into this message instance using numpy for array types
00268 :param str: byte array of serialized message, ``str``
00269 :param numpy: numpy python module
00270 """
00271 try:
00272 if self.input_pc is None:
00273 self.input_pc = sensor_msgs.msg.PointCloud2()
00274 end = 0
00275 _x = self
00276 start = end
00277 end += 12
00278 (_x.input_pc.header.seq, _x.input_pc.header.stamp.secs, _x.input_pc.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00279 start = end
00280 end += 4
00281 (length,) = _struct_I.unpack(str[start:end])
00282 start = end
00283 end += length
00284 if python3:
00285 self.input_pc.header.frame_id = str[start:end].decode('utf-8')
00286 else:
00287 self.input_pc.header.frame_id = str[start:end]
00288 _x = self
00289 start = end
00290 end += 8
00291 (_x.input_pc.height, _x.input_pc.width,) = _struct_2I.unpack(str[start:end])
00292 start = end
00293 end += 4
00294 (length,) = _struct_I.unpack(str[start:end])
00295 self.input_pc.fields = []
00296 for i in range(0, length):
00297 val1 = sensor_msgs.msg.PointField()
00298 start = end
00299 end += 4
00300 (length,) = _struct_I.unpack(str[start:end])
00301 start = end
00302 end += length
00303 if python3:
00304 val1.name = str[start:end].decode('utf-8')
00305 else:
00306 val1.name = str[start:end]
00307 _x = val1
00308 start = end
00309 end += 9
00310 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00311 self.input_pc.fields.append(val1)
00312 _x = self
00313 start = end
00314 end += 9
00315 (_x.input_pc.is_bigendian, _x.input_pc.point_step, _x.input_pc.row_step,) = _struct_B2I.unpack(str[start:end])
00316 self.input_pc.is_bigendian = bool(self.input_pc.is_bigendian)
00317 start = end
00318 end += 4
00319 (length,) = _struct_I.unpack(str[start:end])
00320 start = end
00321 end += length
00322 if python3:
00323 self.input_pc.data = str[start:end].decode('utf-8')
00324 else:
00325 self.input_pc.data = str[start:end]
00326 start = end
00327 end += 1
00328 (self.input_pc.is_dense,) = _struct_B.unpack(str[start:end])
00329 self.input_pc.is_dense = bool(self.input_pc.is_dense)
00330 return self
00331 except struct.error as e:
00332 raise genpy.DeserializationError(e)
00333
00334 _struct_I = genpy.struct_I
00335 _struct_IBI = struct.Struct("<IBI")
00336 _struct_3I = struct.Struct("<3I")
00337 _struct_B = struct.Struct("<B")
00338 _struct_2I = struct.Struct("<2I")
00339 _struct_B2I = struct.Struct("<B2I")
00340 """autogenerated by genpy from iri_filter_jump_edge/ApplyPointCloudFilterResponse.msg. Do not edit."""
00341 import sys
00342 python3 = True if sys.hexversion > 0x03000000 else False
00343 import genpy
00344 import struct
00345
00346 import std_msgs.msg
00347 import sensor_msgs.msg
00348
00349 class ApplyPointCloudFilterResponse(genpy.Message):
00350 _md5sum = "3dc41414c32aeee905433e8ab58b46a8"
00351 _type = "iri_filter_jump_edge/ApplyPointCloudFilterResponse"
00352 _has_header = False
00353 _full_text = """
00354 sensor_msgs/PointCloud2 filtered_pc
00355 sensor_msgs/PointCloud2 residual_pc
00356 sensor_msgs/Image residual_img
00357
00358
00359 ================================================================================
00360 MSG: sensor_msgs/PointCloud2
00361 # This message holds a collection of N-dimensional points, which may
00362 # contain additional information such as normals, intensity, etc. The
00363 # point data is stored as a binary blob, its layout described by the
00364 # contents of the "fields" array.
00365
00366 # The point cloud data may be organized 2d (image-like) or 1d
00367 # (unordered). Point clouds organized as 2d images may be produced by
00368 # camera depth sensors such as stereo or time-of-flight.
00369
00370 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00371 # points).
00372 Header header
00373
00374 # 2D structure of the point cloud. If the cloud is unordered, height is
00375 # 1 and width is the length of the point cloud.
00376 uint32 height
00377 uint32 width
00378
00379 # Describes the channels and their layout in the binary data blob.
00380 PointField[] fields
00381
00382 bool is_bigendian # Is this data bigendian?
00383 uint32 point_step # Length of a point in bytes
00384 uint32 row_step # Length of a row in bytes
00385 uint8[] data # Actual point data, size is (row_step*height)
00386
00387 bool is_dense # True if there are no invalid points
00388
00389 ================================================================================
00390 MSG: std_msgs/Header
00391 # Standard metadata for higher-level stamped data types.
00392 # This is generally used to communicate timestamped data
00393 # in a particular coordinate frame.
00394 #
00395 # sequence ID: consecutively increasing ID
00396 uint32 seq
00397 #Two-integer timestamp that is expressed as:
00398 # * stamp.secs: seconds (stamp_secs) since epoch
00399 # * stamp.nsecs: nanoseconds since stamp_secs
00400 # time-handling sugar is provided by the client library
00401 time stamp
00402 #Frame this data is associated with
00403 # 0: no frame
00404 # 1: global frame
00405 string frame_id
00406
00407 ================================================================================
00408 MSG: sensor_msgs/PointField
00409 # This message holds the description of one point entry in the
00410 # PointCloud2 message format.
00411 uint8 INT8 = 1
00412 uint8 UINT8 = 2
00413 uint8 INT16 = 3
00414 uint8 UINT16 = 4
00415 uint8 INT32 = 5
00416 uint8 UINT32 = 6
00417 uint8 FLOAT32 = 7
00418 uint8 FLOAT64 = 8
00419
00420 string name # Name of field
00421 uint32 offset # Offset from start of point struct
00422 uint8 datatype # Datatype enumeration, see above
00423 uint32 count # How many elements in the field
00424
00425 ================================================================================
00426 MSG: sensor_msgs/Image
00427 # This message contains an uncompressed image
00428 # (0, 0) is at top-left corner of image
00429 #
00430
00431 Header header # Header timestamp should be acquisition time of image
00432 # Header frame_id should be optical frame of camera
00433 # origin of frame should be optical center of cameara
00434 # +x should point to the right in the image
00435 # +y should point down in the image
00436 # +z should point into to plane of the image
00437 # If the frame_id here and the frame_id of the CameraInfo
00438 # message associated with the image conflict
00439 # the behavior is undefined
00440
00441 uint32 height # image height, that is, number of rows
00442 uint32 width # image width, that is, number of columns
00443
00444 # The legal values for encoding are in file src/image_encodings.cpp
00445 # If you want to standardize a new string format, join
00446 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.
00447
00448 string encoding # Encoding of pixels -- channel meaning, ordering, size
00449 # taken from the list of strings in src/image_encodings.cpp
00450
00451 uint8 is_bigendian # is this data bigendian?
00452 uint32 step # Full row length in bytes
00453 uint8[] data # actual matrix data, size is (step * rows)
00454
00455 """
00456 __slots__ = ['filtered_pc','residual_pc','residual_img']
00457 _slot_types = ['sensor_msgs/PointCloud2','sensor_msgs/PointCloud2','sensor_msgs/Image']
00458
00459 def __init__(self, *args, **kwds):
00460 """
00461 Constructor. Any message fields that are implicitly/explicitly
00462 set to None will be assigned a default value. The recommend
00463 use is keyword arguments as this is more robust to future message
00464 changes. You cannot mix in-order arguments and keyword arguments.
00465
00466 The available fields are:
00467 filtered_pc,residual_pc,residual_img
00468
00469 :param args: complete set of field values, in .msg order
00470 :param kwds: use keyword arguments corresponding to message field names
00471 to set specific fields.
00472 """
00473 if args or kwds:
00474 super(ApplyPointCloudFilterResponse, self).__init__(*args, **kwds)
00475
00476 if self.filtered_pc is None:
00477 self.filtered_pc = sensor_msgs.msg.PointCloud2()
00478 if self.residual_pc is None:
00479 self.residual_pc = sensor_msgs.msg.PointCloud2()
00480 if self.residual_img is None:
00481 self.residual_img = sensor_msgs.msg.Image()
00482 else:
00483 self.filtered_pc = sensor_msgs.msg.PointCloud2()
00484 self.residual_pc = sensor_msgs.msg.PointCloud2()
00485 self.residual_img = sensor_msgs.msg.Image()
00486
00487 def _get_types(self):
00488 """
00489 internal API method
00490 """
00491 return self._slot_types
00492
00493 def serialize(self, buff):
00494 """
00495 serialize message into buffer
00496 :param buff: buffer, ``StringIO``
00497 """
00498 try:
00499 _x = self
00500 buff.write(_struct_3I.pack(_x.filtered_pc.header.seq, _x.filtered_pc.header.stamp.secs, _x.filtered_pc.header.stamp.nsecs))
00501 _x = self.filtered_pc.header.frame_id
00502 length = len(_x)
00503 if python3 or type(_x) == unicode:
00504 _x = _x.encode('utf-8')
00505 length = len(_x)
00506 buff.write(struct.pack('<I%ss'%length, length, _x))
00507 _x = self
00508 buff.write(_struct_2I.pack(_x.filtered_pc.height, _x.filtered_pc.width))
00509 length = len(self.filtered_pc.fields)
00510 buff.write(_struct_I.pack(length))
00511 for val1 in self.filtered_pc.fields:
00512 _x = val1.name
00513 length = len(_x)
00514 if python3 or type(_x) == unicode:
00515 _x = _x.encode('utf-8')
00516 length = len(_x)
00517 buff.write(struct.pack('<I%ss'%length, length, _x))
00518 _x = val1
00519 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00520 _x = self
00521 buff.write(_struct_B2I.pack(_x.filtered_pc.is_bigendian, _x.filtered_pc.point_step, _x.filtered_pc.row_step))
00522 _x = self.filtered_pc.data
00523 length = len(_x)
00524
00525 if type(_x) in [list, tuple]:
00526 buff.write(struct.pack('<I%sB'%length, length, *_x))
00527 else:
00528 buff.write(struct.pack('<I%ss'%length, length, _x))
00529 _x = self
00530 buff.write(_struct_B3I.pack(_x.filtered_pc.is_dense, _x.residual_pc.header.seq, _x.residual_pc.header.stamp.secs, _x.residual_pc.header.stamp.nsecs))
00531 _x = self.residual_pc.header.frame_id
00532 length = len(_x)
00533 if python3 or type(_x) == unicode:
00534 _x = _x.encode('utf-8')
00535 length = len(_x)
00536 buff.write(struct.pack('<I%ss'%length, length, _x))
00537 _x = self
00538 buff.write(_struct_2I.pack(_x.residual_pc.height, _x.residual_pc.width))
00539 length = len(self.residual_pc.fields)
00540 buff.write(_struct_I.pack(length))
00541 for val1 in self.residual_pc.fields:
00542 _x = val1.name
00543 length = len(_x)
00544 if python3 or type(_x) == unicode:
00545 _x = _x.encode('utf-8')
00546 length = len(_x)
00547 buff.write(struct.pack('<I%ss'%length, length, _x))
00548 _x = val1
00549 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00550 _x = self
00551 buff.write(_struct_B2I.pack(_x.residual_pc.is_bigendian, _x.residual_pc.point_step, _x.residual_pc.row_step))
00552 _x = self.residual_pc.data
00553 length = len(_x)
00554
00555 if type(_x) in [list, tuple]:
00556 buff.write(struct.pack('<I%sB'%length, length, *_x))
00557 else:
00558 buff.write(struct.pack('<I%ss'%length, length, _x))
00559 _x = self
00560 buff.write(_struct_B3I.pack(_x.residual_pc.is_dense, _x.residual_img.header.seq, _x.residual_img.header.stamp.secs, _x.residual_img.header.stamp.nsecs))
00561 _x = self.residual_img.header.frame_id
00562 length = len(_x)
00563 if python3 or type(_x) == unicode:
00564 _x = _x.encode('utf-8')
00565 length = len(_x)
00566 buff.write(struct.pack('<I%ss'%length, length, _x))
00567 _x = self
00568 buff.write(_struct_2I.pack(_x.residual_img.height, _x.residual_img.width))
00569 _x = self.residual_img.encoding
00570 length = len(_x)
00571 if python3 or type(_x) == unicode:
00572 _x = _x.encode('utf-8')
00573 length = len(_x)
00574 buff.write(struct.pack('<I%ss'%length, length, _x))
00575 _x = self
00576 buff.write(_struct_BI.pack(_x.residual_img.is_bigendian, _x.residual_img.step))
00577 _x = self.residual_img.data
00578 length = len(_x)
00579
00580 if type(_x) in [list, tuple]:
00581 buff.write(struct.pack('<I%sB'%length, length, *_x))
00582 else:
00583 buff.write(struct.pack('<I%ss'%length, length, _x))
00584 except struct.error as se: self._check_types(se)
00585 except TypeError as te: self._check_types(te)
00586
00587 def deserialize(self, str):
00588 """
00589 unpack serialized message in str into this message instance
00590 :param str: byte array of serialized message, ``str``
00591 """
00592 try:
00593 if self.filtered_pc is None:
00594 self.filtered_pc = sensor_msgs.msg.PointCloud2()
00595 if self.residual_pc is None:
00596 self.residual_pc = sensor_msgs.msg.PointCloud2()
00597 if self.residual_img is None:
00598 self.residual_img = sensor_msgs.msg.Image()
00599 end = 0
00600 _x = self
00601 start = end
00602 end += 12
00603 (_x.filtered_pc.header.seq, _x.filtered_pc.header.stamp.secs, _x.filtered_pc.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00604 start = end
00605 end += 4
00606 (length,) = _struct_I.unpack(str[start:end])
00607 start = end
00608 end += length
00609 if python3:
00610 self.filtered_pc.header.frame_id = str[start:end].decode('utf-8')
00611 else:
00612 self.filtered_pc.header.frame_id = str[start:end]
00613 _x = self
00614 start = end
00615 end += 8
00616 (_x.filtered_pc.height, _x.filtered_pc.width,) = _struct_2I.unpack(str[start:end])
00617 start = end
00618 end += 4
00619 (length,) = _struct_I.unpack(str[start:end])
00620 self.filtered_pc.fields = []
00621 for i in range(0, length):
00622 val1 = sensor_msgs.msg.PointField()
00623 start = end
00624 end += 4
00625 (length,) = _struct_I.unpack(str[start:end])
00626 start = end
00627 end += length
00628 if python3:
00629 val1.name = str[start:end].decode('utf-8')
00630 else:
00631 val1.name = str[start:end]
00632 _x = val1
00633 start = end
00634 end += 9
00635 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00636 self.filtered_pc.fields.append(val1)
00637 _x = self
00638 start = end
00639 end += 9
00640 (_x.filtered_pc.is_bigendian, _x.filtered_pc.point_step, _x.filtered_pc.row_step,) = _struct_B2I.unpack(str[start:end])
00641 self.filtered_pc.is_bigendian = bool(self.filtered_pc.is_bigendian)
00642 start = end
00643 end += 4
00644 (length,) = _struct_I.unpack(str[start:end])
00645 start = end
00646 end += length
00647 if python3:
00648 self.filtered_pc.data = str[start:end].decode('utf-8')
00649 else:
00650 self.filtered_pc.data = str[start:end]
00651 _x = self
00652 start = end
00653 end += 13
00654 (_x.filtered_pc.is_dense, _x.residual_pc.header.seq, _x.residual_pc.header.stamp.secs, _x.residual_pc.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00655 self.filtered_pc.is_dense = bool(self.filtered_pc.is_dense)
00656 start = end
00657 end += 4
00658 (length,) = _struct_I.unpack(str[start:end])
00659 start = end
00660 end += length
00661 if python3:
00662 self.residual_pc.header.frame_id = str[start:end].decode('utf-8')
00663 else:
00664 self.residual_pc.header.frame_id = str[start:end]
00665 _x = self
00666 start = end
00667 end += 8
00668 (_x.residual_pc.height, _x.residual_pc.width,) = _struct_2I.unpack(str[start:end])
00669 start = end
00670 end += 4
00671 (length,) = _struct_I.unpack(str[start:end])
00672 self.residual_pc.fields = []
00673 for i in range(0, length):
00674 val1 = sensor_msgs.msg.PointField()
00675 start = end
00676 end += 4
00677 (length,) = _struct_I.unpack(str[start:end])
00678 start = end
00679 end += length
00680 if python3:
00681 val1.name = str[start:end].decode('utf-8')
00682 else:
00683 val1.name = str[start:end]
00684 _x = val1
00685 start = end
00686 end += 9
00687 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00688 self.residual_pc.fields.append(val1)
00689 _x = self
00690 start = end
00691 end += 9
00692 (_x.residual_pc.is_bigendian, _x.residual_pc.point_step, _x.residual_pc.row_step,) = _struct_B2I.unpack(str[start:end])
00693 self.residual_pc.is_bigendian = bool(self.residual_pc.is_bigendian)
00694 start = end
00695 end += 4
00696 (length,) = _struct_I.unpack(str[start:end])
00697 start = end
00698 end += length
00699 if python3:
00700 self.residual_pc.data = str[start:end].decode('utf-8')
00701 else:
00702 self.residual_pc.data = str[start:end]
00703 _x = self
00704 start = end
00705 end += 13
00706 (_x.residual_pc.is_dense, _x.residual_img.header.seq, _x.residual_img.header.stamp.secs, _x.residual_img.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00707 self.residual_pc.is_dense = bool(self.residual_pc.is_dense)
00708 start = end
00709 end += 4
00710 (length,) = _struct_I.unpack(str[start:end])
00711 start = end
00712 end += length
00713 if python3:
00714 self.residual_img.header.frame_id = str[start:end].decode('utf-8')
00715 else:
00716 self.residual_img.header.frame_id = str[start:end]
00717 _x = self
00718 start = end
00719 end += 8
00720 (_x.residual_img.height, _x.residual_img.width,) = _struct_2I.unpack(str[start:end])
00721 start = end
00722 end += 4
00723 (length,) = _struct_I.unpack(str[start:end])
00724 start = end
00725 end += length
00726 if python3:
00727 self.residual_img.encoding = str[start:end].decode('utf-8')
00728 else:
00729 self.residual_img.encoding = str[start:end]
00730 _x = self
00731 start = end
00732 end += 5
00733 (_x.residual_img.is_bigendian, _x.residual_img.step,) = _struct_BI.unpack(str[start:end])
00734 start = end
00735 end += 4
00736 (length,) = _struct_I.unpack(str[start:end])
00737 start = end
00738 end += length
00739 if python3:
00740 self.residual_img.data = str[start:end].decode('utf-8')
00741 else:
00742 self.residual_img.data = str[start:end]
00743 return self
00744 except struct.error as e:
00745 raise genpy.DeserializationError(e)
00746
00747
00748 def serialize_numpy(self, buff, numpy):
00749 """
00750 serialize message with numpy array types into buffer
00751 :param buff: buffer, ``StringIO``
00752 :param numpy: numpy python module
00753 """
00754 try:
00755 _x = self
00756 buff.write(_struct_3I.pack(_x.filtered_pc.header.seq, _x.filtered_pc.header.stamp.secs, _x.filtered_pc.header.stamp.nsecs))
00757 _x = self.filtered_pc.header.frame_id
00758 length = len(_x)
00759 if python3 or type(_x) == unicode:
00760 _x = _x.encode('utf-8')
00761 length = len(_x)
00762 buff.write(struct.pack('<I%ss'%length, length, _x))
00763 _x = self
00764 buff.write(_struct_2I.pack(_x.filtered_pc.height, _x.filtered_pc.width))
00765 length = len(self.filtered_pc.fields)
00766 buff.write(_struct_I.pack(length))
00767 for val1 in self.filtered_pc.fields:
00768 _x = val1.name
00769 length = len(_x)
00770 if python3 or type(_x) == unicode:
00771 _x = _x.encode('utf-8')
00772 length = len(_x)
00773 buff.write(struct.pack('<I%ss'%length, length, _x))
00774 _x = val1
00775 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00776 _x = self
00777 buff.write(_struct_B2I.pack(_x.filtered_pc.is_bigendian, _x.filtered_pc.point_step, _x.filtered_pc.row_step))
00778 _x = self.filtered_pc.data
00779 length = len(_x)
00780
00781 if type(_x) in [list, tuple]:
00782 buff.write(struct.pack('<I%sB'%length, length, *_x))
00783 else:
00784 buff.write(struct.pack('<I%ss'%length, length, _x))
00785 _x = self
00786 buff.write(_struct_B3I.pack(_x.filtered_pc.is_dense, _x.residual_pc.header.seq, _x.residual_pc.header.stamp.secs, _x.residual_pc.header.stamp.nsecs))
00787 _x = self.residual_pc.header.frame_id
00788 length = len(_x)
00789 if python3 or type(_x) == unicode:
00790 _x = _x.encode('utf-8')
00791 length = len(_x)
00792 buff.write(struct.pack('<I%ss'%length, length, _x))
00793 _x = self
00794 buff.write(_struct_2I.pack(_x.residual_pc.height, _x.residual_pc.width))
00795 length = len(self.residual_pc.fields)
00796 buff.write(_struct_I.pack(length))
00797 for val1 in self.residual_pc.fields:
00798 _x = val1.name
00799 length = len(_x)
00800 if python3 or type(_x) == unicode:
00801 _x = _x.encode('utf-8')
00802 length = len(_x)
00803 buff.write(struct.pack('<I%ss'%length, length, _x))
00804 _x = val1
00805 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00806 _x = self
00807 buff.write(_struct_B2I.pack(_x.residual_pc.is_bigendian, _x.residual_pc.point_step, _x.residual_pc.row_step))
00808 _x = self.residual_pc.data
00809 length = len(_x)
00810
00811 if type(_x) in [list, tuple]:
00812 buff.write(struct.pack('<I%sB'%length, length, *_x))
00813 else:
00814 buff.write(struct.pack('<I%ss'%length, length, _x))
00815 _x = self
00816 buff.write(_struct_B3I.pack(_x.residual_pc.is_dense, _x.residual_img.header.seq, _x.residual_img.header.stamp.secs, _x.residual_img.header.stamp.nsecs))
00817 _x = self.residual_img.header.frame_id
00818 length = len(_x)
00819 if python3 or type(_x) == unicode:
00820 _x = _x.encode('utf-8')
00821 length = len(_x)
00822 buff.write(struct.pack('<I%ss'%length, length, _x))
00823 _x = self
00824 buff.write(_struct_2I.pack(_x.residual_img.height, _x.residual_img.width))
00825 _x = self.residual_img.encoding
00826 length = len(_x)
00827 if python3 or type(_x) == unicode:
00828 _x = _x.encode('utf-8')
00829 length = len(_x)
00830 buff.write(struct.pack('<I%ss'%length, length, _x))
00831 _x = self
00832 buff.write(_struct_BI.pack(_x.residual_img.is_bigendian, _x.residual_img.step))
00833 _x = self.residual_img.data
00834 length = len(_x)
00835
00836 if type(_x) in [list, tuple]:
00837 buff.write(struct.pack('<I%sB'%length, length, *_x))
00838 else:
00839 buff.write(struct.pack('<I%ss'%length, length, _x))
00840 except struct.error as se: self._check_types(se)
00841 except TypeError as te: self._check_types(te)
00842
00843 def deserialize_numpy(self, str, numpy):
00844 """
00845 unpack serialized message in str into this message instance using numpy for array types
00846 :param str: byte array of serialized message, ``str``
00847 :param numpy: numpy python module
00848 """
00849 try:
00850 if self.filtered_pc is None:
00851 self.filtered_pc = sensor_msgs.msg.PointCloud2()
00852 if self.residual_pc is None:
00853 self.residual_pc = sensor_msgs.msg.PointCloud2()
00854 if self.residual_img is None:
00855 self.residual_img = sensor_msgs.msg.Image()
00856 end = 0
00857 _x = self
00858 start = end
00859 end += 12
00860 (_x.filtered_pc.header.seq, _x.filtered_pc.header.stamp.secs, _x.filtered_pc.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00861 start = end
00862 end += 4
00863 (length,) = _struct_I.unpack(str[start:end])
00864 start = end
00865 end += length
00866 if python3:
00867 self.filtered_pc.header.frame_id = str[start:end].decode('utf-8')
00868 else:
00869 self.filtered_pc.header.frame_id = str[start:end]
00870 _x = self
00871 start = end
00872 end += 8
00873 (_x.filtered_pc.height, _x.filtered_pc.width,) = _struct_2I.unpack(str[start:end])
00874 start = end
00875 end += 4
00876 (length,) = _struct_I.unpack(str[start:end])
00877 self.filtered_pc.fields = []
00878 for i in range(0, length):
00879 val1 = sensor_msgs.msg.PointField()
00880 start = end
00881 end += 4
00882 (length,) = _struct_I.unpack(str[start:end])
00883 start = end
00884 end += length
00885 if python3:
00886 val1.name = str[start:end].decode('utf-8')
00887 else:
00888 val1.name = str[start:end]
00889 _x = val1
00890 start = end
00891 end += 9
00892 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00893 self.filtered_pc.fields.append(val1)
00894 _x = self
00895 start = end
00896 end += 9
00897 (_x.filtered_pc.is_bigendian, _x.filtered_pc.point_step, _x.filtered_pc.row_step,) = _struct_B2I.unpack(str[start:end])
00898 self.filtered_pc.is_bigendian = bool(self.filtered_pc.is_bigendian)
00899 start = end
00900 end += 4
00901 (length,) = _struct_I.unpack(str[start:end])
00902 start = end
00903 end += length
00904 if python3:
00905 self.filtered_pc.data = str[start:end].decode('utf-8')
00906 else:
00907 self.filtered_pc.data = str[start:end]
00908 _x = self
00909 start = end
00910 end += 13
00911 (_x.filtered_pc.is_dense, _x.residual_pc.header.seq, _x.residual_pc.header.stamp.secs, _x.residual_pc.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00912 self.filtered_pc.is_dense = bool(self.filtered_pc.is_dense)
00913 start = end
00914 end += 4
00915 (length,) = _struct_I.unpack(str[start:end])
00916 start = end
00917 end += length
00918 if python3:
00919 self.residual_pc.header.frame_id = str[start:end].decode('utf-8')
00920 else:
00921 self.residual_pc.header.frame_id = str[start:end]
00922 _x = self
00923 start = end
00924 end += 8
00925 (_x.residual_pc.height, _x.residual_pc.width,) = _struct_2I.unpack(str[start:end])
00926 start = end
00927 end += 4
00928 (length,) = _struct_I.unpack(str[start:end])
00929 self.residual_pc.fields = []
00930 for i in range(0, length):
00931 val1 = sensor_msgs.msg.PointField()
00932 start = end
00933 end += 4
00934 (length,) = _struct_I.unpack(str[start:end])
00935 start = end
00936 end += length
00937 if python3:
00938 val1.name = str[start:end].decode('utf-8')
00939 else:
00940 val1.name = str[start:end]
00941 _x = val1
00942 start = end
00943 end += 9
00944 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00945 self.residual_pc.fields.append(val1)
00946 _x = self
00947 start = end
00948 end += 9
00949 (_x.residual_pc.is_bigendian, _x.residual_pc.point_step, _x.residual_pc.row_step,) = _struct_B2I.unpack(str[start:end])
00950 self.residual_pc.is_bigendian = bool(self.residual_pc.is_bigendian)
00951 start = end
00952 end += 4
00953 (length,) = _struct_I.unpack(str[start:end])
00954 start = end
00955 end += length
00956 if python3:
00957 self.residual_pc.data = str[start:end].decode('utf-8')
00958 else:
00959 self.residual_pc.data = str[start:end]
00960 _x = self
00961 start = end
00962 end += 13
00963 (_x.residual_pc.is_dense, _x.residual_img.header.seq, _x.residual_img.header.stamp.secs, _x.residual_img.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00964 self.residual_pc.is_dense = bool(self.residual_pc.is_dense)
00965 start = end
00966 end += 4
00967 (length,) = _struct_I.unpack(str[start:end])
00968 start = end
00969 end += length
00970 if python3:
00971 self.residual_img.header.frame_id = str[start:end].decode('utf-8')
00972 else:
00973 self.residual_img.header.frame_id = str[start:end]
00974 _x = self
00975 start = end
00976 end += 8
00977 (_x.residual_img.height, _x.residual_img.width,) = _struct_2I.unpack(str[start:end])
00978 start = end
00979 end += 4
00980 (length,) = _struct_I.unpack(str[start:end])
00981 start = end
00982 end += length
00983 if python3:
00984 self.residual_img.encoding = str[start:end].decode('utf-8')
00985 else:
00986 self.residual_img.encoding = str[start:end]
00987 _x = self
00988 start = end
00989 end += 5
00990 (_x.residual_img.is_bigendian, _x.residual_img.step,) = _struct_BI.unpack(str[start:end])
00991 start = end
00992 end += 4
00993 (length,) = _struct_I.unpack(str[start:end])
00994 start = end
00995 end += length
00996 if python3:
00997 self.residual_img.data = str[start:end].decode('utf-8')
00998 else:
00999 self.residual_img.data = str[start:end]
01000 return self
01001 except struct.error as e:
01002 raise genpy.DeserializationError(e)
01003
01004 _struct_I = genpy.struct_I
01005 _struct_IBI = struct.Struct("<IBI")
01006 _struct_BI = struct.Struct("<BI")
01007 _struct_3I = struct.Struct("<3I")
01008 _struct_B3I = struct.Struct("<B3I")
01009 _struct_B2I = struct.Struct("<B2I")
01010 _struct_2I = struct.Struct("<2I")
01011 class ApplyPointCloudFilter(object):
01012 _type = 'iri_filter_jump_edge/ApplyPointCloudFilter'
01013 _md5sum = 'e697fd905e25ed1dfb7581a727f2cb22'
01014 _request_class = ApplyPointCloudFilterRequest
01015 _response_class = ApplyPointCloudFilterResponse