00001 """autogenerated by genpy from ethzasl_icp_mapper/MatchCloudsRequest.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 MatchCloudsRequest(genpy.Message):
00011 _md5sum = "7c0945df9b4e88c1f6f45d0b43009748"
00012 _type = "ethzasl_icp_mapper/MatchCloudsRequest"
00013 _has_header = False
00014 _full_text = """sensor_msgs/PointCloud2 reference
00015 sensor_msgs/PointCloud2 readings
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__ = ['reference','readings']
00085 _slot_types = ['sensor_msgs/PointCloud2','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 reference,readings
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(MatchCloudsRequest, self).__init__(*args, **kwds)
00103
00104 if self.reference is None:
00105 self.reference = sensor_msgs.msg.PointCloud2()
00106 if self.readings is None:
00107 self.readings = sensor_msgs.msg.PointCloud2()
00108 else:
00109 self.reference = sensor_msgs.msg.PointCloud2()
00110 self.readings = sensor_msgs.msg.PointCloud2()
00111
00112 def _get_types(self):
00113 """
00114 internal API method
00115 """
00116 return self._slot_types
00117
00118 def serialize(self, buff):
00119 """
00120 serialize message into buffer
00121 :param buff: buffer, ``StringIO``
00122 """
00123 try:
00124 _x = self
00125 buff.write(_struct_3I.pack(_x.reference.header.seq, _x.reference.header.stamp.secs, _x.reference.header.stamp.nsecs))
00126 _x = self.reference.header.frame_id
00127 length = len(_x)
00128 if python3 or type(_x) == unicode:
00129 _x = _x.encode('utf-8')
00130 length = len(_x)
00131 buff.write(struct.pack('<I%ss'%length, length, _x))
00132 _x = self
00133 buff.write(_struct_2I.pack(_x.reference.height, _x.reference.width))
00134 length = len(self.reference.fields)
00135 buff.write(_struct_I.pack(length))
00136 for val1 in self.reference.fields:
00137 _x = val1.name
00138 length = len(_x)
00139 if python3 or type(_x) == unicode:
00140 _x = _x.encode('utf-8')
00141 length = len(_x)
00142 buff.write(struct.pack('<I%ss'%length, length, _x))
00143 _x = val1
00144 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00145 _x = self
00146 buff.write(_struct_B2I.pack(_x.reference.is_bigendian, _x.reference.point_step, _x.reference.row_step))
00147 _x = self.reference.data
00148 length = len(_x)
00149
00150 if type(_x) in [list, tuple]:
00151 buff.write(struct.pack('<I%sB'%length, length, *_x))
00152 else:
00153 buff.write(struct.pack('<I%ss'%length, length, _x))
00154 _x = self
00155 buff.write(_struct_B3I.pack(_x.reference.is_dense, _x.readings.header.seq, _x.readings.header.stamp.secs, _x.readings.header.stamp.nsecs))
00156 _x = self.readings.header.frame_id
00157 length = len(_x)
00158 if python3 or type(_x) == unicode:
00159 _x = _x.encode('utf-8')
00160 length = len(_x)
00161 buff.write(struct.pack('<I%ss'%length, length, _x))
00162 _x = self
00163 buff.write(_struct_2I.pack(_x.readings.height, _x.readings.width))
00164 length = len(self.readings.fields)
00165 buff.write(_struct_I.pack(length))
00166 for val1 in self.readings.fields:
00167 _x = val1.name
00168 length = len(_x)
00169 if python3 or type(_x) == unicode:
00170 _x = _x.encode('utf-8')
00171 length = len(_x)
00172 buff.write(struct.pack('<I%ss'%length, length, _x))
00173 _x = val1
00174 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00175 _x = self
00176 buff.write(_struct_B2I.pack(_x.readings.is_bigendian, _x.readings.point_step, _x.readings.row_step))
00177 _x = self.readings.data
00178 length = len(_x)
00179
00180 if type(_x) in [list, tuple]:
00181 buff.write(struct.pack('<I%sB'%length, length, *_x))
00182 else:
00183 buff.write(struct.pack('<I%ss'%length, length, _x))
00184 buff.write(_struct_B.pack(self.readings.is_dense))
00185 except struct.error as se: self._check_types(se)
00186 except TypeError as te: self._check_types(te)
00187
00188 def deserialize(self, str):
00189 """
00190 unpack serialized message in str into this message instance
00191 :param str: byte array of serialized message, ``str``
00192 """
00193 try:
00194 if self.reference is None:
00195 self.reference = sensor_msgs.msg.PointCloud2()
00196 if self.readings is None:
00197 self.readings = sensor_msgs.msg.PointCloud2()
00198 end = 0
00199 _x = self
00200 start = end
00201 end += 12
00202 (_x.reference.header.seq, _x.reference.header.stamp.secs, _x.reference.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00203 start = end
00204 end += 4
00205 (length,) = _struct_I.unpack(str[start:end])
00206 start = end
00207 end += length
00208 if python3:
00209 self.reference.header.frame_id = str[start:end].decode('utf-8')
00210 else:
00211 self.reference.header.frame_id = str[start:end]
00212 _x = self
00213 start = end
00214 end += 8
00215 (_x.reference.height, _x.reference.width,) = _struct_2I.unpack(str[start:end])
00216 start = end
00217 end += 4
00218 (length,) = _struct_I.unpack(str[start:end])
00219 self.reference.fields = []
00220 for i in range(0, length):
00221 val1 = sensor_msgs.msg.PointField()
00222 start = end
00223 end += 4
00224 (length,) = _struct_I.unpack(str[start:end])
00225 start = end
00226 end += length
00227 if python3:
00228 val1.name = str[start:end].decode('utf-8')
00229 else:
00230 val1.name = str[start:end]
00231 _x = val1
00232 start = end
00233 end += 9
00234 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00235 self.reference.fields.append(val1)
00236 _x = self
00237 start = end
00238 end += 9
00239 (_x.reference.is_bigendian, _x.reference.point_step, _x.reference.row_step,) = _struct_B2I.unpack(str[start:end])
00240 self.reference.is_bigendian = bool(self.reference.is_bigendian)
00241 start = end
00242 end += 4
00243 (length,) = _struct_I.unpack(str[start:end])
00244 start = end
00245 end += length
00246 if python3:
00247 self.reference.data = str[start:end].decode('utf-8')
00248 else:
00249 self.reference.data = str[start:end]
00250 _x = self
00251 start = end
00252 end += 13
00253 (_x.reference.is_dense, _x.readings.header.seq, _x.readings.header.stamp.secs, _x.readings.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00254 self.reference.is_dense = bool(self.reference.is_dense)
00255 start = end
00256 end += 4
00257 (length,) = _struct_I.unpack(str[start:end])
00258 start = end
00259 end += length
00260 if python3:
00261 self.readings.header.frame_id = str[start:end].decode('utf-8')
00262 else:
00263 self.readings.header.frame_id = str[start:end]
00264 _x = self
00265 start = end
00266 end += 8
00267 (_x.readings.height, _x.readings.width,) = _struct_2I.unpack(str[start:end])
00268 start = end
00269 end += 4
00270 (length,) = _struct_I.unpack(str[start:end])
00271 self.readings.fields = []
00272 for i in range(0, length):
00273 val1 = sensor_msgs.msg.PointField()
00274 start = end
00275 end += 4
00276 (length,) = _struct_I.unpack(str[start:end])
00277 start = end
00278 end += length
00279 if python3:
00280 val1.name = str[start:end].decode('utf-8')
00281 else:
00282 val1.name = str[start:end]
00283 _x = val1
00284 start = end
00285 end += 9
00286 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00287 self.readings.fields.append(val1)
00288 _x = self
00289 start = end
00290 end += 9
00291 (_x.readings.is_bigendian, _x.readings.point_step, _x.readings.row_step,) = _struct_B2I.unpack(str[start:end])
00292 self.readings.is_bigendian = bool(self.readings.is_bigendian)
00293 start = end
00294 end += 4
00295 (length,) = _struct_I.unpack(str[start:end])
00296 start = end
00297 end += length
00298 if python3:
00299 self.readings.data = str[start:end].decode('utf-8')
00300 else:
00301 self.readings.data = str[start:end]
00302 start = end
00303 end += 1
00304 (self.readings.is_dense,) = _struct_B.unpack(str[start:end])
00305 self.readings.is_dense = bool(self.readings.is_dense)
00306 return self
00307 except struct.error as e:
00308 raise genpy.DeserializationError(e)
00309
00310
00311 def serialize_numpy(self, buff, numpy):
00312 """
00313 serialize message with numpy array types into buffer
00314 :param buff: buffer, ``StringIO``
00315 :param numpy: numpy python module
00316 """
00317 try:
00318 _x = self
00319 buff.write(_struct_3I.pack(_x.reference.header.seq, _x.reference.header.stamp.secs, _x.reference.header.stamp.nsecs))
00320 _x = self.reference.header.frame_id
00321 length = len(_x)
00322 if python3 or type(_x) == unicode:
00323 _x = _x.encode('utf-8')
00324 length = len(_x)
00325 buff.write(struct.pack('<I%ss'%length, length, _x))
00326 _x = self
00327 buff.write(_struct_2I.pack(_x.reference.height, _x.reference.width))
00328 length = len(self.reference.fields)
00329 buff.write(_struct_I.pack(length))
00330 for val1 in self.reference.fields:
00331 _x = val1.name
00332 length = len(_x)
00333 if python3 or type(_x) == unicode:
00334 _x = _x.encode('utf-8')
00335 length = len(_x)
00336 buff.write(struct.pack('<I%ss'%length, length, _x))
00337 _x = val1
00338 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00339 _x = self
00340 buff.write(_struct_B2I.pack(_x.reference.is_bigendian, _x.reference.point_step, _x.reference.row_step))
00341 _x = self.reference.data
00342 length = len(_x)
00343
00344 if type(_x) in [list, tuple]:
00345 buff.write(struct.pack('<I%sB'%length, length, *_x))
00346 else:
00347 buff.write(struct.pack('<I%ss'%length, length, _x))
00348 _x = self
00349 buff.write(_struct_B3I.pack(_x.reference.is_dense, _x.readings.header.seq, _x.readings.header.stamp.secs, _x.readings.header.stamp.nsecs))
00350 _x = self.readings.header.frame_id
00351 length = len(_x)
00352 if python3 or type(_x) == unicode:
00353 _x = _x.encode('utf-8')
00354 length = len(_x)
00355 buff.write(struct.pack('<I%ss'%length, length, _x))
00356 _x = self
00357 buff.write(_struct_2I.pack(_x.readings.height, _x.readings.width))
00358 length = len(self.readings.fields)
00359 buff.write(_struct_I.pack(length))
00360 for val1 in self.readings.fields:
00361 _x = val1.name
00362 length = len(_x)
00363 if python3 or type(_x) == unicode:
00364 _x = _x.encode('utf-8')
00365 length = len(_x)
00366 buff.write(struct.pack('<I%ss'%length, length, _x))
00367 _x = val1
00368 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00369 _x = self
00370 buff.write(_struct_B2I.pack(_x.readings.is_bigendian, _x.readings.point_step, _x.readings.row_step))
00371 _x = self.readings.data
00372 length = len(_x)
00373
00374 if type(_x) in [list, tuple]:
00375 buff.write(struct.pack('<I%sB'%length, length, *_x))
00376 else:
00377 buff.write(struct.pack('<I%ss'%length, length, _x))
00378 buff.write(_struct_B.pack(self.readings.is_dense))
00379 except struct.error as se: self._check_types(se)
00380 except TypeError as te: self._check_types(te)
00381
00382 def deserialize_numpy(self, str, numpy):
00383 """
00384 unpack serialized message in str into this message instance using numpy for array types
00385 :param str: byte array of serialized message, ``str``
00386 :param numpy: numpy python module
00387 """
00388 try:
00389 if self.reference is None:
00390 self.reference = sensor_msgs.msg.PointCloud2()
00391 if self.readings is None:
00392 self.readings = sensor_msgs.msg.PointCloud2()
00393 end = 0
00394 _x = self
00395 start = end
00396 end += 12
00397 (_x.reference.header.seq, _x.reference.header.stamp.secs, _x.reference.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00398 start = end
00399 end += 4
00400 (length,) = _struct_I.unpack(str[start:end])
00401 start = end
00402 end += length
00403 if python3:
00404 self.reference.header.frame_id = str[start:end].decode('utf-8')
00405 else:
00406 self.reference.header.frame_id = str[start:end]
00407 _x = self
00408 start = end
00409 end += 8
00410 (_x.reference.height, _x.reference.width,) = _struct_2I.unpack(str[start:end])
00411 start = end
00412 end += 4
00413 (length,) = _struct_I.unpack(str[start:end])
00414 self.reference.fields = []
00415 for i in range(0, length):
00416 val1 = sensor_msgs.msg.PointField()
00417 start = end
00418 end += 4
00419 (length,) = _struct_I.unpack(str[start:end])
00420 start = end
00421 end += length
00422 if python3:
00423 val1.name = str[start:end].decode('utf-8')
00424 else:
00425 val1.name = str[start:end]
00426 _x = val1
00427 start = end
00428 end += 9
00429 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00430 self.reference.fields.append(val1)
00431 _x = self
00432 start = end
00433 end += 9
00434 (_x.reference.is_bigendian, _x.reference.point_step, _x.reference.row_step,) = _struct_B2I.unpack(str[start:end])
00435 self.reference.is_bigendian = bool(self.reference.is_bigendian)
00436 start = end
00437 end += 4
00438 (length,) = _struct_I.unpack(str[start:end])
00439 start = end
00440 end += length
00441 if python3:
00442 self.reference.data = str[start:end].decode('utf-8')
00443 else:
00444 self.reference.data = str[start:end]
00445 _x = self
00446 start = end
00447 end += 13
00448 (_x.reference.is_dense, _x.readings.header.seq, _x.readings.header.stamp.secs, _x.readings.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00449 self.reference.is_dense = bool(self.reference.is_dense)
00450 start = end
00451 end += 4
00452 (length,) = _struct_I.unpack(str[start:end])
00453 start = end
00454 end += length
00455 if python3:
00456 self.readings.header.frame_id = str[start:end].decode('utf-8')
00457 else:
00458 self.readings.header.frame_id = str[start:end]
00459 _x = self
00460 start = end
00461 end += 8
00462 (_x.readings.height, _x.readings.width,) = _struct_2I.unpack(str[start:end])
00463 start = end
00464 end += 4
00465 (length,) = _struct_I.unpack(str[start:end])
00466 self.readings.fields = []
00467 for i in range(0, length):
00468 val1 = sensor_msgs.msg.PointField()
00469 start = end
00470 end += 4
00471 (length,) = _struct_I.unpack(str[start:end])
00472 start = end
00473 end += length
00474 if python3:
00475 val1.name = str[start:end].decode('utf-8')
00476 else:
00477 val1.name = str[start:end]
00478 _x = val1
00479 start = end
00480 end += 9
00481 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00482 self.readings.fields.append(val1)
00483 _x = self
00484 start = end
00485 end += 9
00486 (_x.readings.is_bigendian, _x.readings.point_step, _x.readings.row_step,) = _struct_B2I.unpack(str[start:end])
00487 self.readings.is_bigendian = bool(self.readings.is_bigendian)
00488 start = end
00489 end += 4
00490 (length,) = _struct_I.unpack(str[start:end])
00491 start = end
00492 end += length
00493 if python3:
00494 self.readings.data = str[start:end].decode('utf-8')
00495 else:
00496 self.readings.data = str[start:end]
00497 start = end
00498 end += 1
00499 (self.readings.is_dense,) = _struct_B.unpack(str[start:end])
00500 self.readings.is_dense = bool(self.readings.is_dense)
00501 return self
00502 except struct.error as e:
00503 raise genpy.DeserializationError(e)
00504
00505 _struct_I = genpy.struct_I
00506 _struct_IBI = struct.Struct("<IBI")
00507 _struct_B = struct.Struct("<B")
00508 _struct_3I = struct.Struct("<3I")
00509 _struct_B3I = struct.Struct("<B3I")
00510 _struct_B2I = struct.Struct("<B2I")
00511 _struct_2I = struct.Struct("<2I")
00512 """autogenerated by genpy from ethzasl_icp_mapper/MatchCloudsResponse.msg. Do not edit."""
00513 import sys
00514 python3 = True if sys.hexversion > 0x03000000 else False
00515 import genpy
00516 import struct
00517
00518 import geometry_msgs.msg
00519
00520 class MatchCloudsResponse(genpy.Message):
00521 _md5sum = "c2d1de03cf5b052350d875b7cfbc84a5"
00522 _type = "ethzasl_icp_mapper/MatchCloudsResponse"
00523 _has_header = False
00524 _full_text = """geometry_msgs/Transform transform
00525
00526
00527 ================================================================================
00528 MSG: geometry_msgs/Transform
00529 # This represents the transform between two coordinate frames in free space.
00530
00531 Vector3 translation
00532 Quaternion rotation
00533
00534 ================================================================================
00535 MSG: geometry_msgs/Vector3
00536 # This represents a vector in free space.
00537
00538 float64 x
00539 float64 y
00540 float64 z
00541 ================================================================================
00542 MSG: geometry_msgs/Quaternion
00543 # This represents an orientation in free space in quaternion form.
00544
00545 float64 x
00546 float64 y
00547 float64 z
00548 float64 w
00549
00550 """
00551 __slots__ = ['transform']
00552 _slot_types = ['geometry_msgs/Transform']
00553
00554 def __init__(self, *args, **kwds):
00555 """
00556 Constructor. Any message fields that are implicitly/explicitly
00557 set to None will be assigned a default value. The recommend
00558 use is keyword arguments as this is more robust to future message
00559 changes. You cannot mix in-order arguments and keyword arguments.
00560
00561 The available fields are:
00562 transform
00563
00564 :param args: complete set of field values, in .msg order
00565 :param kwds: use keyword arguments corresponding to message field names
00566 to set specific fields.
00567 """
00568 if args or kwds:
00569 super(MatchCloudsResponse, self).__init__(*args, **kwds)
00570
00571 if self.transform is None:
00572 self.transform = geometry_msgs.msg.Transform()
00573 else:
00574 self.transform = geometry_msgs.msg.Transform()
00575
00576 def _get_types(self):
00577 """
00578 internal API method
00579 """
00580 return self._slot_types
00581
00582 def serialize(self, buff):
00583 """
00584 serialize message into buffer
00585 :param buff: buffer, ``StringIO``
00586 """
00587 try:
00588 _x = self
00589 buff.write(_struct_7d.pack(_x.transform.translation.x, _x.transform.translation.y, _x.transform.translation.z, _x.transform.rotation.x, _x.transform.rotation.y, _x.transform.rotation.z, _x.transform.rotation.w))
00590 except struct.error as se: self._check_types(se)
00591 except TypeError as te: self._check_types(te)
00592
00593 def deserialize(self, str):
00594 """
00595 unpack serialized message in str into this message instance
00596 :param str: byte array of serialized message, ``str``
00597 """
00598 try:
00599 if self.transform is None:
00600 self.transform = geometry_msgs.msg.Transform()
00601 end = 0
00602 _x = self
00603 start = end
00604 end += 56
00605 (_x.transform.translation.x, _x.transform.translation.y, _x.transform.translation.z, _x.transform.rotation.x, _x.transform.rotation.y, _x.transform.rotation.z, _x.transform.rotation.w,) = _struct_7d.unpack(str[start:end])
00606 return self
00607 except struct.error as e:
00608 raise genpy.DeserializationError(e)
00609
00610
00611 def serialize_numpy(self, buff, numpy):
00612 """
00613 serialize message with numpy array types into buffer
00614 :param buff: buffer, ``StringIO``
00615 :param numpy: numpy python module
00616 """
00617 try:
00618 _x = self
00619 buff.write(_struct_7d.pack(_x.transform.translation.x, _x.transform.translation.y, _x.transform.translation.z, _x.transform.rotation.x, _x.transform.rotation.y, _x.transform.rotation.z, _x.transform.rotation.w))
00620 except struct.error as se: self._check_types(se)
00621 except TypeError as te: self._check_types(te)
00622
00623 def deserialize_numpy(self, str, numpy):
00624 """
00625 unpack serialized message in str into this message instance using numpy for array types
00626 :param str: byte array of serialized message, ``str``
00627 :param numpy: numpy python module
00628 """
00629 try:
00630 if self.transform is None:
00631 self.transform = geometry_msgs.msg.Transform()
00632 end = 0
00633 _x = self
00634 start = end
00635 end += 56
00636 (_x.transform.translation.x, _x.transform.translation.y, _x.transform.translation.z, _x.transform.rotation.x, _x.transform.rotation.y, _x.transform.rotation.z, _x.transform.rotation.w,) = _struct_7d.unpack(str[start:end])
00637 return self
00638 except struct.error as e:
00639 raise genpy.DeserializationError(e)
00640
00641 _struct_I = genpy.struct_I
00642 _struct_7d = struct.Struct("<7d")
00643 class MatchClouds(object):
00644 _type = 'ethzasl_icp_mapper/MatchClouds'
00645 _md5sum = '2d80ae9747b1317b7b969a4ee0f353c7'
00646 _request_class = MatchCloudsRequest
00647 _response_class = MatchCloudsResponse