00001 """autogenerated by genpy from srs_object_database_msgs/GetSurfRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007
00008 class GetSurfRequest(genpy.Message):
00009 _md5sum = "80afe6caba30c992d2e7ff6ff0e0d51e"
00010 _type = "srs_object_database_msgs/GetSurfRequest"
00011 _has_header = False
00012 _full_text = """
00013
00014
00015
00016 int32[] model_ids
00017
00018
00019 """
00020 __slots__ = ['model_ids']
00021 _slot_types = ['int32[]']
00022
00023 def __init__(self, *args, **kwds):
00024 """
00025 Constructor. Any message fields that are implicitly/explicitly
00026 set to None will be assigned a default value. The recommend
00027 use is keyword arguments as this is more robust to future message
00028 changes. You cannot mix in-order arguments and keyword arguments.
00029
00030 The available fields are:
00031 model_ids
00032
00033 :param args: complete set of field values, in .msg order
00034 :param kwds: use keyword arguments corresponding to message field names
00035 to set specific fields.
00036 """
00037 if args or kwds:
00038 super(GetSurfRequest, self).__init__(*args, **kwds)
00039
00040 if self.model_ids is None:
00041 self.model_ids = []
00042 else:
00043 self.model_ids = []
00044
00045 def _get_types(self):
00046 """
00047 internal API method
00048 """
00049 return self._slot_types
00050
00051 def serialize(self, buff):
00052 """
00053 serialize message into buffer
00054 :param buff: buffer, ``StringIO``
00055 """
00056 try:
00057 length = len(self.model_ids)
00058 buff.write(_struct_I.pack(length))
00059 pattern = '<%si'%length
00060 buff.write(struct.pack(pattern, *self.model_ids))
00061 except struct.error as se: self._check_types(se)
00062 except TypeError as te: self._check_types(te)
00063
00064 def deserialize(self, str):
00065 """
00066 unpack serialized message in str into this message instance
00067 :param str: byte array of serialized message, ``str``
00068 """
00069 try:
00070 end = 0
00071 start = end
00072 end += 4
00073 (length,) = _struct_I.unpack(str[start:end])
00074 pattern = '<%si'%length
00075 start = end
00076 end += struct.calcsize(pattern)
00077 self.model_ids = struct.unpack(pattern, str[start:end])
00078 return self
00079 except struct.error as e:
00080 raise genpy.DeserializationError(e)
00081
00082
00083 def serialize_numpy(self, buff, numpy):
00084 """
00085 serialize message with numpy array types into buffer
00086 :param buff: buffer, ``StringIO``
00087 :param numpy: numpy python module
00088 """
00089 try:
00090 length = len(self.model_ids)
00091 buff.write(_struct_I.pack(length))
00092 pattern = '<%si'%length
00093 buff.write(self.model_ids.tostring())
00094 except struct.error as se: self._check_types(se)
00095 except TypeError as te: self._check_types(te)
00096
00097 def deserialize_numpy(self, str, numpy):
00098 """
00099 unpack serialized message in str into this message instance using numpy for array types
00100 :param str: byte array of serialized message, ``str``
00101 :param numpy: numpy python module
00102 """
00103 try:
00104 end = 0
00105 start = end
00106 end += 4
00107 (length,) = _struct_I.unpack(str[start:end])
00108 pattern = '<%si'%length
00109 start = end
00110 end += struct.calcsize(pattern)
00111 self.model_ids = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
00112 return self
00113 except struct.error as e:
00114 raise genpy.DeserializationError(e)
00115
00116 _struct_I = genpy.struct_I
00117 """autogenerated by genpy from srs_object_database_msgs/GetSurfResponse.msg. Do not edit."""
00118 import sys
00119 python3 = True if sys.hexversion > 0x03000000 else False
00120 import genpy
00121 import struct
00122
00123 import geometry_msgs.msg
00124 import srs_object_database_msgs.msg
00125 import std_msgs.msg
00126 import sensor_msgs.msg
00127
00128 class GetSurfResponse(genpy.Message):
00129 _md5sum = "f488db1c5c99c7e7e3059cfcb562df9f"
00130 _type = "srs_object_database_msgs/GetSurfResponse"
00131 _has_header = False
00132 _full_text = """
00133
00134 string return_response
00135
00136 srs_object_database_msgs/surf[] msg
00137
00138
00139 ================================================================================
00140 MSG: srs_object_database_msgs/surf
00141 int32 objectId
00142 sensor_msgs/PointCloud2 surf
00143 sensor_msgs/PointCloud2 bounding_box
00144 geometry_msgs/Pose coord_frame
00145
00146 ================================================================================
00147 MSG: sensor_msgs/PointCloud2
00148 # This message holds a collection of N-dimensional points, which may
00149 # contain additional information such as normals, intensity, etc. The
00150 # point data is stored as a binary blob, its layout described by the
00151 # contents of the "fields" array.
00152
00153 # The point cloud data may be organized 2d (image-like) or 1d
00154 # (unordered). Point clouds organized as 2d images may be produced by
00155 # camera depth sensors such as stereo or time-of-flight.
00156
00157 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00158 # points).
00159 Header header
00160
00161 # 2D structure of the point cloud. If the cloud is unordered, height is
00162 # 1 and width is the length of the point cloud.
00163 uint32 height
00164 uint32 width
00165
00166 # Describes the channels and their layout in the binary data blob.
00167 PointField[] fields
00168
00169 bool is_bigendian # Is this data bigendian?
00170 uint32 point_step # Length of a point in bytes
00171 uint32 row_step # Length of a row in bytes
00172 uint8[] data # Actual point data, size is (row_step*height)
00173
00174 bool is_dense # True if there are no invalid points
00175
00176 ================================================================================
00177 MSG: std_msgs/Header
00178 # Standard metadata for higher-level stamped data types.
00179 # This is generally used to communicate timestamped data
00180 # in a particular coordinate frame.
00181 #
00182 # sequence ID: consecutively increasing ID
00183 uint32 seq
00184 #Two-integer timestamp that is expressed as:
00185 # * stamp.secs: seconds (stamp_secs) since epoch
00186 # * stamp.nsecs: nanoseconds since stamp_secs
00187 # time-handling sugar is provided by the client library
00188 time stamp
00189 #Frame this data is associated with
00190 # 0: no frame
00191 # 1: global frame
00192 string frame_id
00193
00194 ================================================================================
00195 MSG: sensor_msgs/PointField
00196 # This message holds the description of one point entry in the
00197 # PointCloud2 message format.
00198 uint8 INT8 = 1
00199 uint8 UINT8 = 2
00200 uint8 INT16 = 3
00201 uint8 UINT16 = 4
00202 uint8 INT32 = 5
00203 uint8 UINT32 = 6
00204 uint8 FLOAT32 = 7
00205 uint8 FLOAT64 = 8
00206
00207 string name # Name of field
00208 uint32 offset # Offset from start of point struct
00209 uint8 datatype # Datatype enumeration, see above
00210 uint32 count # How many elements in the field
00211
00212 ================================================================================
00213 MSG: geometry_msgs/Pose
00214 # A representation of pose in free space, composed of postion and orientation.
00215 Point position
00216 Quaternion orientation
00217
00218 ================================================================================
00219 MSG: geometry_msgs/Point
00220 # This contains the position of a point in free space
00221 float64 x
00222 float64 y
00223 float64 z
00224
00225 ================================================================================
00226 MSG: geometry_msgs/Quaternion
00227 # This represents an orientation in free space in quaternion form.
00228
00229 float64 x
00230 float64 y
00231 float64 z
00232 float64 w
00233
00234 """
00235 __slots__ = ['return_response','msg']
00236 _slot_types = ['string','srs_object_database_msgs/surf[]']
00237
00238 def __init__(self, *args, **kwds):
00239 """
00240 Constructor. Any message fields that are implicitly/explicitly
00241 set to None will be assigned a default value. The recommend
00242 use is keyword arguments as this is more robust to future message
00243 changes. You cannot mix in-order arguments and keyword arguments.
00244
00245 The available fields are:
00246 return_response,msg
00247
00248 :param args: complete set of field values, in .msg order
00249 :param kwds: use keyword arguments corresponding to message field names
00250 to set specific fields.
00251 """
00252 if args or kwds:
00253 super(GetSurfResponse, self).__init__(*args, **kwds)
00254
00255 if self.return_response is None:
00256 self.return_response = ''
00257 if self.msg is None:
00258 self.msg = []
00259 else:
00260 self.return_response = ''
00261 self.msg = []
00262
00263 def _get_types(self):
00264 """
00265 internal API method
00266 """
00267 return self._slot_types
00268
00269 def serialize(self, buff):
00270 """
00271 serialize message into buffer
00272 :param buff: buffer, ``StringIO``
00273 """
00274 try:
00275 _x = self.return_response
00276 length = len(_x)
00277 if python3 or type(_x) == unicode:
00278 _x = _x.encode('utf-8')
00279 length = len(_x)
00280 buff.write(struct.pack('<I%ss'%length, length, _x))
00281 length = len(self.msg)
00282 buff.write(_struct_I.pack(length))
00283 for val1 in self.msg:
00284 buff.write(_struct_i.pack(val1.objectId))
00285 _v1 = val1.surf
00286 _v2 = _v1.header
00287 buff.write(_struct_I.pack(_v2.seq))
00288 _v3 = _v2.stamp
00289 _x = _v3
00290 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00291 _x = _v2.frame_id
00292 length = len(_x)
00293 if python3 or type(_x) == unicode:
00294 _x = _x.encode('utf-8')
00295 length = len(_x)
00296 buff.write(struct.pack('<I%ss'%length, length, _x))
00297 _x = _v1
00298 buff.write(_struct_2I.pack(_x.height, _x.width))
00299 length = len(_v1.fields)
00300 buff.write(_struct_I.pack(length))
00301 for val3 in _v1.fields:
00302 _x = val3.name
00303 length = len(_x)
00304 if python3 or type(_x) == unicode:
00305 _x = _x.encode('utf-8')
00306 length = len(_x)
00307 buff.write(struct.pack('<I%ss'%length, length, _x))
00308 _x = val3
00309 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00310 _x = _v1
00311 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
00312 _x = _v1.data
00313 length = len(_x)
00314
00315 if type(_x) in [list, tuple]:
00316 buff.write(struct.pack('<I%sB'%length, length, *_x))
00317 else:
00318 buff.write(struct.pack('<I%ss'%length, length, _x))
00319 buff.write(_struct_B.pack(_v1.is_dense))
00320 _v4 = val1.bounding_box
00321 _v5 = _v4.header
00322 buff.write(_struct_I.pack(_v5.seq))
00323 _v6 = _v5.stamp
00324 _x = _v6
00325 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00326 _x = _v5.frame_id
00327 length = len(_x)
00328 if python3 or type(_x) == unicode:
00329 _x = _x.encode('utf-8')
00330 length = len(_x)
00331 buff.write(struct.pack('<I%ss'%length, length, _x))
00332 _x = _v4
00333 buff.write(_struct_2I.pack(_x.height, _x.width))
00334 length = len(_v4.fields)
00335 buff.write(_struct_I.pack(length))
00336 for val3 in _v4.fields:
00337 _x = val3.name
00338 length = len(_x)
00339 if python3 or type(_x) == unicode:
00340 _x = _x.encode('utf-8')
00341 length = len(_x)
00342 buff.write(struct.pack('<I%ss'%length, length, _x))
00343 _x = val3
00344 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00345 _x = _v4
00346 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
00347 _x = _v4.data
00348 length = len(_x)
00349
00350 if type(_x) in [list, tuple]:
00351 buff.write(struct.pack('<I%sB'%length, length, *_x))
00352 else:
00353 buff.write(struct.pack('<I%ss'%length, length, _x))
00354 buff.write(_struct_B.pack(_v4.is_dense))
00355 _v7 = val1.coord_frame
00356 _v8 = _v7.position
00357 _x = _v8
00358 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00359 _v9 = _v7.orientation
00360 _x = _v9
00361 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00362 except struct.error as se: self._check_types(se)
00363 except TypeError as te: self._check_types(te)
00364
00365 def deserialize(self, str):
00366 """
00367 unpack serialized message in str into this message instance
00368 :param str: byte array of serialized message, ``str``
00369 """
00370 try:
00371 if self.msg is None:
00372 self.msg = None
00373 end = 0
00374 start = end
00375 end += 4
00376 (length,) = _struct_I.unpack(str[start:end])
00377 start = end
00378 end += length
00379 if python3:
00380 self.return_response = str[start:end].decode('utf-8')
00381 else:
00382 self.return_response = str[start:end]
00383 start = end
00384 end += 4
00385 (length,) = _struct_I.unpack(str[start:end])
00386 self.msg = []
00387 for i in range(0, length):
00388 val1 = srs_object_database_msgs.msg.surf()
00389 start = end
00390 end += 4
00391 (val1.objectId,) = _struct_i.unpack(str[start:end])
00392 _v10 = val1.surf
00393 _v11 = _v10.header
00394 start = end
00395 end += 4
00396 (_v11.seq,) = _struct_I.unpack(str[start:end])
00397 _v12 = _v11.stamp
00398 _x = _v12
00399 start = end
00400 end += 8
00401 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00402 start = end
00403 end += 4
00404 (length,) = _struct_I.unpack(str[start:end])
00405 start = end
00406 end += length
00407 if python3:
00408 _v11.frame_id = str[start:end].decode('utf-8')
00409 else:
00410 _v11.frame_id = str[start:end]
00411 _x = _v10
00412 start = end
00413 end += 8
00414 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
00415 start = end
00416 end += 4
00417 (length,) = _struct_I.unpack(str[start:end])
00418 _v10.fields = []
00419 for i in range(0, length):
00420 val3 = sensor_msgs.msg.PointField()
00421 start = end
00422 end += 4
00423 (length,) = _struct_I.unpack(str[start:end])
00424 start = end
00425 end += length
00426 if python3:
00427 val3.name = str[start:end].decode('utf-8')
00428 else:
00429 val3.name = str[start:end]
00430 _x = val3
00431 start = end
00432 end += 9
00433 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00434 _v10.fields.append(val3)
00435 _x = _v10
00436 start = end
00437 end += 9
00438 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
00439 _v10.is_bigendian = bool(_v10.is_bigendian)
00440 start = end
00441 end += 4
00442 (length,) = _struct_I.unpack(str[start:end])
00443 start = end
00444 end += length
00445 if python3:
00446 _v10.data = str[start:end].decode('utf-8')
00447 else:
00448 _v10.data = str[start:end]
00449 start = end
00450 end += 1
00451 (_v10.is_dense,) = _struct_B.unpack(str[start:end])
00452 _v10.is_dense = bool(_v10.is_dense)
00453 _v13 = val1.bounding_box
00454 _v14 = _v13.header
00455 start = end
00456 end += 4
00457 (_v14.seq,) = _struct_I.unpack(str[start:end])
00458 _v15 = _v14.stamp
00459 _x = _v15
00460 start = end
00461 end += 8
00462 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00463 start = end
00464 end += 4
00465 (length,) = _struct_I.unpack(str[start:end])
00466 start = end
00467 end += length
00468 if python3:
00469 _v14.frame_id = str[start:end].decode('utf-8')
00470 else:
00471 _v14.frame_id = str[start:end]
00472 _x = _v13
00473 start = end
00474 end += 8
00475 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
00476 start = end
00477 end += 4
00478 (length,) = _struct_I.unpack(str[start:end])
00479 _v13.fields = []
00480 for i in range(0, length):
00481 val3 = sensor_msgs.msg.PointField()
00482 start = end
00483 end += 4
00484 (length,) = _struct_I.unpack(str[start:end])
00485 start = end
00486 end += length
00487 if python3:
00488 val3.name = str[start:end].decode('utf-8')
00489 else:
00490 val3.name = str[start:end]
00491 _x = val3
00492 start = end
00493 end += 9
00494 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00495 _v13.fields.append(val3)
00496 _x = _v13
00497 start = end
00498 end += 9
00499 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
00500 _v13.is_bigendian = bool(_v13.is_bigendian)
00501 start = end
00502 end += 4
00503 (length,) = _struct_I.unpack(str[start:end])
00504 start = end
00505 end += length
00506 if python3:
00507 _v13.data = str[start:end].decode('utf-8')
00508 else:
00509 _v13.data = str[start:end]
00510 start = end
00511 end += 1
00512 (_v13.is_dense,) = _struct_B.unpack(str[start:end])
00513 _v13.is_dense = bool(_v13.is_dense)
00514 _v16 = val1.coord_frame
00515 _v17 = _v16.position
00516 _x = _v17
00517 start = end
00518 end += 24
00519 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00520 _v18 = _v16.orientation
00521 _x = _v18
00522 start = end
00523 end += 32
00524 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00525 self.msg.append(val1)
00526 return self
00527 except struct.error as e:
00528 raise genpy.DeserializationError(e)
00529
00530
00531 def serialize_numpy(self, buff, numpy):
00532 """
00533 serialize message with numpy array types into buffer
00534 :param buff: buffer, ``StringIO``
00535 :param numpy: numpy python module
00536 """
00537 try:
00538 _x = self.return_response
00539 length = len(_x)
00540 if python3 or type(_x) == unicode:
00541 _x = _x.encode('utf-8')
00542 length = len(_x)
00543 buff.write(struct.pack('<I%ss'%length, length, _x))
00544 length = len(self.msg)
00545 buff.write(_struct_I.pack(length))
00546 for val1 in self.msg:
00547 buff.write(_struct_i.pack(val1.objectId))
00548 _v19 = val1.surf
00549 _v20 = _v19.header
00550 buff.write(_struct_I.pack(_v20.seq))
00551 _v21 = _v20.stamp
00552 _x = _v21
00553 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00554 _x = _v20.frame_id
00555 length = len(_x)
00556 if python3 or type(_x) == unicode:
00557 _x = _x.encode('utf-8')
00558 length = len(_x)
00559 buff.write(struct.pack('<I%ss'%length, length, _x))
00560 _x = _v19
00561 buff.write(_struct_2I.pack(_x.height, _x.width))
00562 length = len(_v19.fields)
00563 buff.write(_struct_I.pack(length))
00564 for val3 in _v19.fields:
00565 _x = val3.name
00566 length = len(_x)
00567 if python3 or type(_x) == unicode:
00568 _x = _x.encode('utf-8')
00569 length = len(_x)
00570 buff.write(struct.pack('<I%ss'%length, length, _x))
00571 _x = val3
00572 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00573 _x = _v19
00574 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
00575 _x = _v19.data
00576 length = len(_x)
00577
00578 if type(_x) in [list, tuple]:
00579 buff.write(struct.pack('<I%sB'%length, length, *_x))
00580 else:
00581 buff.write(struct.pack('<I%ss'%length, length, _x))
00582 buff.write(_struct_B.pack(_v19.is_dense))
00583 _v22 = val1.bounding_box
00584 _v23 = _v22.header
00585 buff.write(_struct_I.pack(_v23.seq))
00586 _v24 = _v23.stamp
00587 _x = _v24
00588 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00589 _x = _v23.frame_id
00590 length = len(_x)
00591 if python3 or type(_x) == unicode:
00592 _x = _x.encode('utf-8')
00593 length = len(_x)
00594 buff.write(struct.pack('<I%ss'%length, length, _x))
00595 _x = _v22
00596 buff.write(_struct_2I.pack(_x.height, _x.width))
00597 length = len(_v22.fields)
00598 buff.write(_struct_I.pack(length))
00599 for val3 in _v22.fields:
00600 _x = val3.name
00601 length = len(_x)
00602 if python3 or type(_x) == unicode:
00603 _x = _x.encode('utf-8')
00604 length = len(_x)
00605 buff.write(struct.pack('<I%ss'%length, length, _x))
00606 _x = val3
00607 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00608 _x = _v22
00609 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
00610 _x = _v22.data
00611 length = len(_x)
00612
00613 if type(_x) in [list, tuple]:
00614 buff.write(struct.pack('<I%sB'%length, length, *_x))
00615 else:
00616 buff.write(struct.pack('<I%ss'%length, length, _x))
00617 buff.write(_struct_B.pack(_v22.is_dense))
00618 _v25 = val1.coord_frame
00619 _v26 = _v25.position
00620 _x = _v26
00621 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00622 _v27 = _v25.orientation
00623 _x = _v27
00624 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00625 except struct.error as se: self._check_types(se)
00626 except TypeError as te: self._check_types(te)
00627
00628 def deserialize_numpy(self, str, numpy):
00629 """
00630 unpack serialized message in str into this message instance using numpy for array types
00631 :param str: byte array of serialized message, ``str``
00632 :param numpy: numpy python module
00633 """
00634 try:
00635 if self.msg is None:
00636 self.msg = None
00637 end = 0
00638 start = end
00639 end += 4
00640 (length,) = _struct_I.unpack(str[start:end])
00641 start = end
00642 end += length
00643 if python3:
00644 self.return_response = str[start:end].decode('utf-8')
00645 else:
00646 self.return_response = str[start:end]
00647 start = end
00648 end += 4
00649 (length,) = _struct_I.unpack(str[start:end])
00650 self.msg = []
00651 for i in range(0, length):
00652 val1 = srs_object_database_msgs.msg.surf()
00653 start = end
00654 end += 4
00655 (val1.objectId,) = _struct_i.unpack(str[start:end])
00656 _v28 = val1.surf
00657 _v29 = _v28.header
00658 start = end
00659 end += 4
00660 (_v29.seq,) = _struct_I.unpack(str[start:end])
00661 _v30 = _v29.stamp
00662 _x = _v30
00663 start = end
00664 end += 8
00665 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00666 start = end
00667 end += 4
00668 (length,) = _struct_I.unpack(str[start:end])
00669 start = end
00670 end += length
00671 if python3:
00672 _v29.frame_id = str[start:end].decode('utf-8')
00673 else:
00674 _v29.frame_id = str[start:end]
00675 _x = _v28
00676 start = end
00677 end += 8
00678 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
00679 start = end
00680 end += 4
00681 (length,) = _struct_I.unpack(str[start:end])
00682 _v28.fields = []
00683 for i in range(0, length):
00684 val3 = sensor_msgs.msg.PointField()
00685 start = end
00686 end += 4
00687 (length,) = _struct_I.unpack(str[start:end])
00688 start = end
00689 end += length
00690 if python3:
00691 val3.name = str[start:end].decode('utf-8')
00692 else:
00693 val3.name = str[start:end]
00694 _x = val3
00695 start = end
00696 end += 9
00697 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00698 _v28.fields.append(val3)
00699 _x = _v28
00700 start = end
00701 end += 9
00702 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
00703 _v28.is_bigendian = bool(_v28.is_bigendian)
00704 start = end
00705 end += 4
00706 (length,) = _struct_I.unpack(str[start:end])
00707 start = end
00708 end += length
00709 if python3:
00710 _v28.data = str[start:end].decode('utf-8')
00711 else:
00712 _v28.data = str[start:end]
00713 start = end
00714 end += 1
00715 (_v28.is_dense,) = _struct_B.unpack(str[start:end])
00716 _v28.is_dense = bool(_v28.is_dense)
00717 _v31 = val1.bounding_box
00718 _v32 = _v31.header
00719 start = end
00720 end += 4
00721 (_v32.seq,) = _struct_I.unpack(str[start:end])
00722 _v33 = _v32.stamp
00723 _x = _v33
00724 start = end
00725 end += 8
00726 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00727 start = end
00728 end += 4
00729 (length,) = _struct_I.unpack(str[start:end])
00730 start = end
00731 end += length
00732 if python3:
00733 _v32.frame_id = str[start:end].decode('utf-8')
00734 else:
00735 _v32.frame_id = str[start:end]
00736 _x = _v31
00737 start = end
00738 end += 8
00739 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
00740 start = end
00741 end += 4
00742 (length,) = _struct_I.unpack(str[start:end])
00743 _v31.fields = []
00744 for i in range(0, length):
00745 val3 = sensor_msgs.msg.PointField()
00746 start = end
00747 end += 4
00748 (length,) = _struct_I.unpack(str[start:end])
00749 start = end
00750 end += length
00751 if python3:
00752 val3.name = str[start:end].decode('utf-8')
00753 else:
00754 val3.name = str[start:end]
00755 _x = val3
00756 start = end
00757 end += 9
00758 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00759 _v31.fields.append(val3)
00760 _x = _v31
00761 start = end
00762 end += 9
00763 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
00764 _v31.is_bigendian = bool(_v31.is_bigendian)
00765 start = end
00766 end += 4
00767 (length,) = _struct_I.unpack(str[start:end])
00768 start = end
00769 end += length
00770 if python3:
00771 _v31.data = str[start:end].decode('utf-8')
00772 else:
00773 _v31.data = str[start:end]
00774 start = end
00775 end += 1
00776 (_v31.is_dense,) = _struct_B.unpack(str[start:end])
00777 _v31.is_dense = bool(_v31.is_dense)
00778 _v34 = val1.coord_frame
00779 _v35 = _v34.position
00780 _x = _v35
00781 start = end
00782 end += 24
00783 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00784 _v36 = _v34.orientation
00785 _x = _v36
00786 start = end
00787 end += 32
00788 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00789 self.msg.append(val1)
00790 return self
00791 except struct.error as e:
00792 raise genpy.DeserializationError(e)
00793
00794 _struct_I = genpy.struct_I
00795 _struct_IBI = struct.Struct("<IBI")
00796 _struct_B = struct.Struct("<B")
00797 _struct_i = struct.Struct("<i")
00798 _struct_B2I = struct.Struct("<B2I")
00799 _struct_4d = struct.Struct("<4d")
00800 _struct_2I = struct.Struct("<2I")
00801 _struct_3d = struct.Struct("<3d")
00802 class GetSurf(object):
00803 _type = 'srs_object_database_msgs/GetSurf'
00804 _md5sum = '8a26dac6ca309ec59818b968ea146378'
00805 _request_class = GetSurfRequest
00806 _response_class = GetSurfResponse