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