00001 """autogenerated by genmsg_py from GetGeographicMapRequest.msg. Do not edit."""
00002 import roslib.message
00003 import struct
00004
00005 import geographic_msgs.msg
00006
00007 class GetGeographicMapRequest(roslib.message.Message):
00008 _md5sum = "bcb6c922f4e40d10bb092a499c762a4e"
00009 _type = "geographic_msgs/GetGeographicMapRequest"
00010 _has_header = False
00011 _full_text = """
00012
00013 string url
00014
00015
00016
00017 BoundingBox bounds
00018
00019
00020 ================================================================================
00021 MSG: geographic_msgs/BoundingBox
00022 # Two-dimensional geographic map bounding box.
00023
00024 # Latitudes are in degrees [-90 .. +90]. Positive is north of equator;
00025 # negative is south.
00026
00027 # Longitudes are in degrees [-180 .. +180]. Positive is east of prime
00028 # meridian; negative is west. At the poles, latitude is -90 or +90,
00029 # and longitude is irrelevant, but must be in range.
00030
00031 # If all bounds are zeros, the bounding box includes the whole world.
00032
00033 float64 min_latitude
00034 float64 min_longitude
00035 float64 max_latitude
00036 float64 max_longitude
00037
00038 """
00039 __slots__ = ['url','bounds']
00040 _slot_types = ['string','geographic_msgs/BoundingBox']
00041
00042 def __init__(self, *args, **kwds):
00043 """
00044 Constructor. Any message fields that are implicitly/explicitly
00045 set to None will be assigned a default value. The recommend
00046 use is keyword arguments as this is more robust to future message
00047 changes. You cannot mix in-order arguments and keyword arguments.
00048
00049 The available fields are:
00050 url,bounds
00051
00052 @param args: complete set of field values, in .msg order
00053 @param kwds: use keyword arguments corresponding to message field names
00054 to set specific fields.
00055 """
00056 if args or kwds:
00057 super(GetGeographicMapRequest, self).__init__(*args, **kwds)
00058
00059 if self.url is None:
00060 self.url = ''
00061 if self.bounds is None:
00062 self.bounds = geographic_msgs.msg.BoundingBox()
00063 else:
00064 self.url = ''
00065 self.bounds = geographic_msgs.msg.BoundingBox()
00066
00067 def _get_types(self):
00068 """
00069 internal API method
00070 """
00071 return self._slot_types
00072
00073 def serialize(self, buff):
00074 """
00075 serialize message into buffer
00076 @param buff: buffer
00077 @type buff: StringIO
00078 """
00079 try:
00080 _x = self.url
00081 length = len(_x)
00082 buff.write(struct.pack('<I%ss'%length, length, _x))
00083 _x = self
00084 buff.write(_struct_4d.pack(_x.bounds.min_latitude, _x.bounds.min_longitude, _x.bounds.max_latitude, _x.bounds.max_longitude))
00085 except struct.error as se: self._check_types(se)
00086 except TypeError as te: self._check_types(te)
00087
00088 def deserialize(self, str):
00089 """
00090 unpack serialized message in str into this message instance
00091 @param str: byte array of serialized message
00092 @type str: str
00093 """
00094 try:
00095 if self.bounds is None:
00096 self.bounds = geographic_msgs.msg.BoundingBox()
00097 end = 0
00098 start = end
00099 end += 4
00100 (length,) = _struct_I.unpack(str[start:end])
00101 start = end
00102 end += length
00103 self.url = str[start:end]
00104 _x = self
00105 start = end
00106 end += 32
00107 (_x.bounds.min_latitude, _x.bounds.min_longitude, _x.bounds.max_latitude, _x.bounds.max_longitude,) = _struct_4d.unpack(str[start:end])
00108 return self
00109 except struct.error as e:
00110 raise roslib.message.DeserializationError(e)
00111
00112
00113 def serialize_numpy(self, buff, numpy):
00114 """
00115 serialize message with numpy array types into buffer
00116 @param buff: buffer
00117 @type buff: StringIO
00118 @param numpy: numpy python module
00119 @type numpy module
00120 """
00121 try:
00122 _x = self.url
00123 length = len(_x)
00124 buff.write(struct.pack('<I%ss'%length, length, _x))
00125 _x = self
00126 buff.write(_struct_4d.pack(_x.bounds.min_latitude, _x.bounds.min_longitude, _x.bounds.max_latitude, _x.bounds.max_longitude))
00127 except struct.error as se: self._check_types(se)
00128 except TypeError as te: self._check_types(te)
00129
00130 def deserialize_numpy(self, str, numpy):
00131 """
00132 unpack serialized message in str into this message instance using numpy for array types
00133 @param str: byte array of serialized message
00134 @type str: str
00135 @param numpy: numpy python module
00136 @type numpy: module
00137 """
00138 try:
00139 if self.bounds is None:
00140 self.bounds = geographic_msgs.msg.BoundingBox()
00141 end = 0
00142 start = end
00143 end += 4
00144 (length,) = _struct_I.unpack(str[start:end])
00145 start = end
00146 end += length
00147 self.url = str[start:end]
00148 _x = self
00149 start = end
00150 end += 32
00151 (_x.bounds.min_latitude, _x.bounds.min_longitude, _x.bounds.max_latitude, _x.bounds.max_longitude,) = _struct_4d.unpack(str[start:end])
00152 return self
00153 except struct.error as e:
00154 raise roslib.message.DeserializationError(e)
00155
00156 _struct_I = roslib.message.struct_I
00157 _struct_4d = struct.Struct("<4d")
00158 """autogenerated by genmsg_py from GetGeographicMapResponse.msg. Do not edit."""
00159 import roslib.message
00160 import struct
00161
00162 import geographic_msgs.msg
00163 import std_msgs.msg
00164
00165 class GetGeographicMapResponse(roslib.message.Message):
00166 _md5sum = "76dd945577593220b7bed16a38543c19"
00167 _type = "geographic_msgs/GetGeographicMapResponse"
00168 _has_header = False
00169 _full_text = """
00170 bool success
00171 string status
00172
00173
00174 geographic_msgs/GeographicMap map
00175
00176
00177 ================================================================================
00178 MSG: geographic_msgs/GeographicMap
00179 # Geographic map for a specified region.
00180
00181 Header header # stamp specifies time
00182 # frame_id (normally /map)
00183
00184 UniqueID id # identifier for this map
00185 BoundingBox bounds # 2D bounding box containing map
00186
00187 WayPoint[] points # way-points
00188 MapFeature[] features # map features
00189 KeyValue[] props # map properties
00190
00191 ================================================================================
00192 MSG: std_msgs/Header
00193 # Standard metadata for higher-level stamped data types.
00194 # This is generally used to communicate timestamped data
00195 # in a particular coordinate frame.
00196 #
00197 # sequence ID: consecutively increasing ID
00198 uint32 seq
00199 #Two-integer timestamp that is expressed as:
00200 # * stamp.secs: seconds (stamp_secs) since epoch
00201 # * stamp.nsecs: nanoseconds since stamp_secs
00202 # time-handling sugar is provided by the client library
00203 time stamp
00204 #Frame this data is associated with
00205 # 0: no frame
00206 # 1: global frame
00207 string frame_id
00208
00209 ================================================================================
00210 MSG: geographic_msgs/UniqueID
00211 # A universally unique identifier (UUID) for a geographic feature.
00212 #
00213 # http://en.wikipedia.org/wiki/Universally_unique_identifier
00214 # http://tools.ietf.org/html/rfc4122.html
00215 #
00216 # For simplicity and human readability, the UUID is represented as a
00217 # string of hex digits and dashes.
00218 #
00219 # UUID generation is up to the programmer, but the intent is for
00220 # matching features within a domain such as Open Street Map to yield
00221 # the same UUID. The recommended method is RFC 4122 variant 5,
00222 # computing the SHA-1 hash of a URL encoded using the map source. For
00223 # example:
00224 #
00225 # http://openstreetmap.org/node/NUMBER
00226 # http://openstreetmap.org/way/NUMBER
00227 # http://openstreetmap.org/relation/NUMBER
00228 #
00229 # Here NUMBER is the decimal representation of the OSM node, way, or
00230 # relation ID without leading zeros.
00231 #
00232 # Other map sources should use similar conventions.
00233
00234 string uuid # format: 01234567-89ab-cdef-0123-456789abcdef
00235
00236 ================================================================================
00237 MSG: geographic_msgs/BoundingBox
00238 # Two-dimensional geographic map bounding box.
00239
00240 # Latitudes are in degrees [-90 .. +90]. Positive is north of equator;
00241 # negative is south.
00242
00243 # Longitudes are in degrees [-180 .. +180]. Positive is east of prime
00244 # meridian; negative is west. At the poles, latitude is -90 or +90,
00245 # and longitude is irrelevant, but must be in range.
00246
00247 # If all bounds are zeros, the bounding box includes the whole world.
00248
00249 float64 min_latitude
00250 float64 min_longitude
00251 float64 max_latitude
00252 float64 max_longitude
00253
00254 ================================================================================
00255 MSG: geographic_msgs/WayPoint
00256 # Way-point element for a geographic map.
00257
00258 UniqueID id # Unique way-point identifier
00259 GeoPoint position # Position relative to WGS 84 ellipsoid
00260 KeyValue[] props # Key/value properties for this point
00261
00262 ================================================================================
00263 MSG: geographic_msgs/GeoPoint
00264 # Geographic point, using the WGS 84 reference ellipsoid.
00265
00266 # Latitude [degrees]. Positive is north of equator; negative is south
00267 # (-90 <= latitude <= +90).
00268 float64 latitude
00269
00270 # Longitude [degrees]. Positive is east of prime meridian; negative is
00271 # west (-180 <= longitude <= +180). At the poles, latitude is -90 or
00272 # +90, and longitude is irrelevant, but must be in range.
00273 float64 longitude
00274
00275 # Altitude [m]. Positive is above the WGS 84 ellipsoid (NaN if unspecified).
00276 float64 altitude
00277
00278 ================================================================================
00279 MSG: geographic_msgs/KeyValue
00280 # Geographic map tag (key, value) pair
00281 #
00282 # This is equivalent to diagnostic_msgs/KeyValue, repeated here to
00283 # avoid introducing a trivial stack dependency.
00284
00285 string key # tag label
00286 string value # corresponding value
00287
00288 ================================================================================
00289 MSG: geographic_msgs/MapFeature
00290 # Geographic map feature.
00291 #
00292 # A list of WayPoint IDs for features like streets, highways, hiking
00293 # trails, the outlines of buildings and parking lots in sequential
00294 # order.
00295 #
00296 # Feature lists may also contain other feature lists as members.
00297
00298 UniqueID id # Unique feature identifier
00299 UniqueID[] components # Sequence of feature components
00300 KeyValue[] props # Key/value properties for this feature
00301
00302 """
00303 __slots__ = ['success','status','map']
00304 _slot_types = ['bool','string','geographic_msgs/GeographicMap']
00305
00306 def __init__(self, *args, **kwds):
00307 """
00308 Constructor. Any message fields that are implicitly/explicitly
00309 set to None will be assigned a default value. The recommend
00310 use is keyword arguments as this is more robust to future message
00311 changes. You cannot mix in-order arguments and keyword arguments.
00312
00313 The available fields are:
00314 success,status,map
00315
00316 @param args: complete set of field values, in .msg order
00317 @param kwds: use keyword arguments corresponding to message field names
00318 to set specific fields.
00319 """
00320 if args or kwds:
00321 super(GetGeographicMapResponse, self).__init__(*args, **kwds)
00322
00323 if self.success is None:
00324 self.success = False
00325 if self.status is None:
00326 self.status = ''
00327 if self.map is None:
00328 self.map = geographic_msgs.msg.GeographicMap()
00329 else:
00330 self.success = False
00331 self.status = ''
00332 self.map = geographic_msgs.msg.GeographicMap()
00333
00334 def _get_types(self):
00335 """
00336 internal API method
00337 """
00338 return self._slot_types
00339
00340 def serialize(self, buff):
00341 """
00342 serialize message into buffer
00343 @param buff: buffer
00344 @type buff: StringIO
00345 """
00346 try:
00347 buff.write(_struct_B.pack(self.success))
00348 _x = self.status
00349 length = len(_x)
00350 buff.write(struct.pack('<I%ss'%length, length, _x))
00351 _x = self
00352 buff.write(_struct_3I.pack(_x.map.header.seq, _x.map.header.stamp.secs, _x.map.header.stamp.nsecs))
00353 _x = self.map.header.frame_id
00354 length = len(_x)
00355 buff.write(struct.pack('<I%ss'%length, length, _x))
00356 _x = self.map.id.uuid
00357 length = len(_x)
00358 buff.write(struct.pack('<I%ss'%length, length, _x))
00359 _x = self
00360 buff.write(_struct_4d.pack(_x.map.bounds.min_latitude, _x.map.bounds.min_longitude, _x.map.bounds.max_latitude, _x.map.bounds.max_longitude))
00361 length = len(self.map.points)
00362 buff.write(_struct_I.pack(length))
00363 for val1 in self.map.points:
00364 _v1 = val1.id
00365 _x = _v1.uuid
00366 length = len(_x)
00367 buff.write(struct.pack('<I%ss'%length, length, _x))
00368 _v2 = val1.position
00369 _x = _v2
00370 buff.write(_struct_3d.pack(_x.latitude, _x.longitude, _x.altitude))
00371 length = len(val1.props)
00372 buff.write(_struct_I.pack(length))
00373 for val2 in val1.props:
00374 _x = val2.key
00375 length = len(_x)
00376 buff.write(struct.pack('<I%ss'%length, length, _x))
00377 _x = val2.value
00378 length = len(_x)
00379 buff.write(struct.pack('<I%ss'%length, length, _x))
00380 length = len(self.map.features)
00381 buff.write(_struct_I.pack(length))
00382 for val1 in self.map.features:
00383 _v3 = val1.id
00384 _x = _v3.uuid
00385 length = len(_x)
00386 buff.write(struct.pack('<I%ss'%length, length, _x))
00387 length = len(val1.components)
00388 buff.write(_struct_I.pack(length))
00389 for val2 in val1.components:
00390 _x = val2.uuid
00391 length = len(_x)
00392 buff.write(struct.pack('<I%ss'%length, length, _x))
00393 length = len(val1.props)
00394 buff.write(_struct_I.pack(length))
00395 for val2 in val1.props:
00396 _x = val2.key
00397 length = len(_x)
00398 buff.write(struct.pack('<I%ss'%length, length, _x))
00399 _x = val2.value
00400 length = len(_x)
00401 buff.write(struct.pack('<I%ss'%length, length, _x))
00402 length = len(self.map.props)
00403 buff.write(_struct_I.pack(length))
00404 for val1 in self.map.props:
00405 _x = val1.key
00406 length = len(_x)
00407 buff.write(struct.pack('<I%ss'%length, length, _x))
00408 _x = val1.value
00409 length = len(_x)
00410 buff.write(struct.pack('<I%ss'%length, length, _x))
00411 except struct.error as se: self._check_types(se)
00412 except TypeError as te: self._check_types(te)
00413
00414 def deserialize(self, str):
00415 """
00416 unpack serialized message in str into this message instance
00417 @param str: byte array of serialized message
00418 @type str: str
00419 """
00420 try:
00421 if self.map is None:
00422 self.map = geographic_msgs.msg.GeographicMap()
00423 end = 0
00424 start = end
00425 end += 1
00426 (self.success,) = _struct_B.unpack(str[start:end])
00427 self.success = bool(self.success)
00428 start = end
00429 end += 4
00430 (length,) = _struct_I.unpack(str[start:end])
00431 start = end
00432 end += length
00433 self.status = str[start:end]
00434 _x = self
00435 start = end
00436 end += 12
00437 (_x.map.header.seq, _x.map.header.stamp.secs, _x.map.header.stamp.nsecs,) = _struct_3I.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 self.map.header.frame_id = str[start:end]
00444 start = end
00445 end += 4
00446 (length,) = _struct_I.unpack(str[start:end])
00447 start = end
00448 end += length
00449 self.map.id.uuid = str[start:end]
00450 _x = self
00451 start = end
00452 end += 32
00453 (_x.map.bounds.min_latitude, _x.map.bounds.min_longitude, _x.map.bounds.max_latitude, _x.map.bounds.max_longitude,) = _struct_4d.unpack(str[start:end])
00454 start = end
00455 end += 4
00456 (length,) = _struct_I.unpack(str[start:end])
00457 self.map.points = []
00458 for i in range(0, length):
00459 val1 = geographic_msgs.msg.WayPoint()
00460 _v4 = val1.id
00461 start = end
00462 end += 4
00463 (length,) = _struct_I.unpack(str[start:end])
00464 start = end
00465 end += length
00466 _v4.uuid = str[start:end]
00467 _v5 = val1.position
00468 _x = _v5
00469 start = end
00470 end += 24
00471 (_x.latitude, _x.longitude, _x.altitude,) = _struct_3d.unpack(str[start:end])
00472 start = end
00473 end += 4
00474 (length,) = _struct_I.unpack(str[start:end])
00475 val1.props = []
00476 for i in range(0, length):
00477 val2 = geographic_msgs.msg.KeyValue()
00478 start = end
00479 end += 4
00480 (length,) = _struct_I.unpack(str[start:end])
00481 start = end
00482 end += length
00483 val2.key = str[start:end]
00484 start = end
00485 end += 4
00486 (length,) = _struct_I.unpack(str[start:end])
00487 start = end
00488 end += length
00489 val2.value = str[start:end]
00490 val1.props.append(val2)
00491 self.map.points.append(val1)
00492 start = end
00493 end += 4
00494 (length,) = _struct_I.unpack(str[start:end])
00495 self.map.features = []
00496 for i in range(0, length):
00497 val1 = geographic_msgs.msg.MapFeature()
00498 _v6 = val1.id
00499 start = end
00500 end += 4
00501 (length,) = _struct_I.unpack(str[start:end])
00502 start = end
00503 end += length
00504 _v6.uuid = str[start:end]
00505 start = end
00506 end += 4
00507 (length,) = _struct_I.unpack(str[start:end])
00508 val1.components = []
00509 for i in range(0, length):
00510 val2 = geographic_msgs.msg.UniqueID()
00511 start = end
00512 end += 4
00513 (length,) = _struct_I.unpack(str[start:end])
00514 start = end
00515 end += length
00516 val2.uuid = str[start:end]
00517 val1.components.append(val2)
00518 start = end
00519 end += 4
00520 (length,) = _struct_I.unpack(str[start:end])
00521 val1.props = []
00522 for i in range(0, length):
00523 val2 = geographic_msgs.msg.KeyValue()
00524 start = end
00525 end += 4
00526 (length,) = _struct_I.unpack(str[start:end])
00527 start = end
00528 end += length
00529 val2.key = str[start:end]
00530 start = end
00531 end += 4
00532 (length,) = _struct_I.unpack(str[start:end])
00533 start = end
00534 end += length
00535 val2.value = str[start:end]
00536 val1.props.append(val2)
00537 self.map.features.append(val1)
00538 start = end
00539 end += 4
00540 (length,) = _struct_I.unpack(str[start:end])
00541 self.map.props = []
00542 for i in range(0, length):
00543 val1 = geographic_msgs.msg.KeyValue()
00544 start = end
00545 end += 4
00546 (length,) = _struct_I.unpack(str[start:end])
00547 start = end
00548 end += length
00549 val1.key = str[start:end]
00550 start = end
00551 end += 4
00552 (length,) = _struct_I.unpack(str[start:end])
00553 start = end
00554 end += length
00555 val1.value = str[start:end]
00556 self.map.props.append(val1)
00557 return self
00558 except struct.error as e:
00559 raise roslib.message.DeserializationError(e)
00560
00561
00562 def serialize_numpy(self, buff, numpy):
00563 """
00564 serialize message with numpy array types into buffer
00565 @param buff: buffer
00566 @type buff: StringIO
00567 @param numpy: numpy python module
00568 @type numpy module
00569 """
00570 try:
00571 buff.write(_struct_B.pack(self.success))
00572 _x = self.status
00573 length = len(_x)
00574 buff.write(struct.pack('<I%ss'%length, length, _x))
00575 _x = self
00576 buff.write(_struct_3I.pack(_x.map.header.seq, _x.map.header.stamp.secs, _x.map.header.stamp.nsecs))
00577 _x = self.map.header.frame_id
00578 length = len(_x)
00579 buff.write(struct.pack('<I%ss'%length, length, _x))
00580 _x = self.map.id.uuid
00581 length = len(_x)
00582 buff.write(struct.pack('<I%ss'%length, length, _x))
00583 _x = self
00584 buff.write(_struct_4d.pack(_x.map.bounds.min_latitude, _x.map.bounds.min_longitude, _x.map.bounds.max_latitude, _x.map.bounds.max_longitude))
00585 length = len(self.map.points)
00586 buff.write(_struct_I.pack(length))
00587 for val1 in self.map.points:
00588 _v7 = val1.id
00589 _x = _v7.uuid
00590 length = len(_x)
00591 buff.write(struct.pack('<I%ss'%length, length, _x))
00592 _v8 = val1.position
00593 _x = _v8
00594 buff.write(_struct_3d.pack(_x.latitude, _x.longitude, _x.altitude))
00595 length = len(val1.props)
00596 buff.write(_struct_I.pack(length))
00597 for val2 in val1.props:
00598 _x = val2.key
00599 length = len(_x)
00600 buff.write(struct.pack('<I%ss'%length, length, _x))
00601 _x = val2.value
00602 length = len(_x)
00603 buff.write(struct.pack('<I%ss'%length, length, _x))
00604 length = len(self.map.features)
00605 buff.write(_struct_I.pack(length))
00606 for val1 in self.map.features:
00607 _v9 = val1.id
00608 _x = _v9.uuid
00609 length = len(_x)
00610 buff.write(struct.pack('<I%ss'%length, length, _x))
00611 length = len(val1.components)
00612 buff.write(_struct_I.pack(length))
00613 for val2 in val1.components:
00614 _x = val2.uuid
00615 length = len(_x)
00616 buff.write(struct.pack('<I%ss'%length, length, _x))
00617 length = len(val1.props)
00618 buff.write(_struct_I.pack(length))
00619 for val2 in val1.props:
00620 _x = val2.key
00621 length = len(_x)
00622 buff.write(struct.pack('<I%ss'%length, length, _x))
00623 _x = val2.value
00624 length = len(_x)
00625 buff.write(struct.pack('<I%ss'%length, length, _x))
00626 length = len(self.map.props)
00627 buff.write(_struct_I.pack(length))
00628 for val1 in self.map.props:
00629 _x = val1.key
00630 length = len(_x)
00631 buff.write(struct.pack('<I%ss'%length, length, _x))
00632 _x = val1.value
00633 length = len(_x)
00634 buff.write(struct.pack('<I%ss'%length, length, _x))
00635 except struct.error as se: self._check_types(se)
00636 except TypeError as te: self._check_types(te)
00637
00638 def deserialize_numpy(self, str, numpy):
00639 """
00640 unpack serialized message in str into this message instance using numpy for array types
00641 @param str: byte array of serialized message
00642 @type str: str
00643 @param numpy: numpy python module
00644 @type numpy: module
00645 """
00646 try:
00647 if self.map is None:
00648 self.map = geographic_msgs.msg.GeographicMap()
00649 end = 0
00650 start = end
00651 end += 1
00652 (self.success,) = _struct_B.unpack(str[start:end])
00653 self.success = bool(self.success)
00654 start = end
00655 end += 4
00656 (length,) = _struct_I.unpack(str[start:end])
00657 start = end
00658 end += length
00659 self.status = str[start:end]
00660 _x = self
00661 start = end
00662 end += 12
00663 (_x.map.header.seq, _x.map.header.stamp.secs, _x.map.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00664 start = end
00665 end += 4
00666 (length,) = _struct_I.unpack(str[start:end])
00667 start = end
00668 end += length
00669 self.map.header.frame_id = str[start:end]
00670 start = end
00671 end += 4
00672 (length,) = _struct_I.unpack(str[start:end])
00673 start = end
00674 end += length
00675 self.map.id.uuid = str[start:end]
00676 _x = self
00677 start = end
00678 end += 32
00679 (_x.map.bounds.min_latitude, _x.map.bounds.min_longitude, _x.map.bounds.max_latitude, _x.map.bounds.max_longitude,) = _struct_4d.unpack(str[start:end])
00680 start = end
00681 end += 4
00682 (length,) = _struct_I.unpack(str[start:end])
00683 self.map.points = []
00684 for i in range(0, length):
00685 val1 = geographic_msgs.msg.WayPoint()
00686 _v10 = val1.id
00687 start = end
00688 end += 4
00689 (length,) = _struct_I.unpack(str[start:end])
00690 start = end
00691 end += length
00692 _v10.uuid = str[start:end]
00693 _v11 = val1.position
00694 _x = _v11
00695 start = end
00696 end += 24
00697 (_x.latitude, _x.longitude, _x.altitude,) = _struct_3d.unpack(str[start:end])
00698 start = end
00699 end += 4
00700 (length,) = _struct_I.unpack(str[start:end])
00701 val1.props = []
00702 for i in range(0, length):
00703 val2 = geographic_msgs.msg.KeyValue()
00704 start = end
00705 end += 4
00706 (length,) = _struct_I.unpack(str[start:end])
00707 start = end
00708 end += length
00709 val2.key = str[start:end]
00710 start = end
00711 end += 4
00712 (length,) = _struct_I.unpack(str[start:end])
00713 start = end
00714 end += length
00715 val2.value = str[start:end]
00716 val1.props.append(val2)
00717 self.map.points.append(val1)
00718 start = end
00719 end += 4
00720 (length,) = _struct_I.unpack(str[start:end])
00721 self.map.features = []
00722 for i in range(0, length):
00723 val1 = geographic_msgs.msg.MapFeature()
00724 _v12 = val1.id
00725 start = end
00726 end += 4
00727 (length,) = _struct_I.unpack(str[start:end])
00728 start = end
00729 end += length
00730 _v12.uuid = str[start:end]
00731 start = end
00732 end += 4
00733 (length,) = _struct_I.unpack(str[start:end])
00734 val1.components = []
00735 for i in range(0, length):
00736 val2 = geographic_msgs.msg.UniqueID()
00737 start = end
00738 end += 4
00739 (length,) = _struct_I.unpack(str[start:end])
00740 start = end
00741 end += length
00742 val2.uuid = str[start:end]
00743 val1.components.append(val2)
00744 start = end
00745 end += 4
00746 (length,) = _struct_I.unpack(str[start:end])
00747 val1.props = []
00748 for i in range(0, length):
00749 val2 = geographic_msgs.msg.KeyValue()
00750 start = end
00751 end += 4
00752 (length,) = _struct_I.unpack(str[start:end])
00753 start = end
00754 end += length
00755 val2.key = str[start:end]
00756 start = end
00757 end += 4
00758 (length,) = _struct_I.unpack(str[start:end])
00759 start = end
00760 end += length
00761 val2.value = str[start:end]
00762 val1.props.append(val2)
00763 self.map.features.append(val1)
00764 start = end
00765 end += 4
00766 (length,) = _struct_I.unpack(str[start:end])
00767 self.map.props = []
00768 for i in range(0, length):
00769 val1 = geographic_msgs.msg.KeyValue()
00770 start = end
00771 end += 4
00772 (length,) = _struct_I.unpack(str[start:end])
00773 start = end
00774 end += length
00775 val1.key = str[start:end]
00776 start = end
00777 end += 4
00778 (length,) = _struct_I.unpack(str[start:end])
00779 start = end
00780 end += length
00781 val1.value = str[start:end]
00782 self.map.props.append(val1)
00783 return self
00784 except struct.error as e:
00785 raise roslib.message.DeserializationError(e)
00786
00787 _struct_I = roslib.message.struct_I
00788 _struct_3I = struct.Struct("<3I")
00789 _struct_B = struct.Struct("<B")
00790 _struct_4d = struct.Struct("<4d")
00791 _struct_3d = struct.Struct("<3d")
00792 class GetGeographicMap(roslib.message.ServiceDefinition):
00793 _type = 'geographic_msgs/GetGeographicMap'
00794 _md5sum = '325e956ec3ca3be5597312537c09d9f8'
00795 _request_class = GetGeographicMapRequest
00796 _response_class = GetGeographicMapResponse