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