_RouteNetwork.py
Go to the documentation of this file.
00001 """autogenerated by genpy from geographic_msgs/RouteNetwork.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006 
00007 import uuid_msgs.msg
00008 import geographic_msgs.msg
00009 import std_msgs.msg
00010 
00011 class RouteNetwork(genpy.Message):
00012   _md5sum = "fd717c0a34a7c954deed32c6847f30a8"
00013   _type = "geographic_msgs/RouteNetwork"
00014   _has_header = True #flag to mark the presence of a Header object
00015   _full_text = """# Geographic map route network.
00016 #
00017 # A directed graph of WayPoint nodes and RouteSegment edges.  This
00018 # information is extracted from the more-detailed contents of a
00019 # GeographicMap.  A RouteNetwork contains only the way points and
00020 # route segments of interest for path planning.
00021 
00022 Header          header
00023 
00024 uuid_msgs/UniqueID id    # This route network identifier
00025 BoundingBox     bounds   # 2D bounding box for network
00026 
00027 WayPoint[]      points   # Way points in this network
00028 RouteSegment[]  segments # Directed edges of this network
00029 
00030 KeyValue[]      props    # Network key/value properties
00031 
00032 ================================================================================
00033 MSG: std_msgs/Header
00034 # Standard metadata for higher-level stamped data types.
00035 # This is generally used to communicate timestamped data 
00036 # in a particular coordinate frame.
00037 # 
00038 # sequence ID: consecutively increasing ID 
00039 uint32 seq
00040 #Two-integer timestamp that is expressed as:
00041 # * stamp.secs: seconds (stamp_secs) since epoch
00042 # * stamp.nsecs: nanoseconds since stamp_secs
00043 # time-handling sugar is provided by the client library
00044 time stamp
00045 #Frame this data is associated with
00046 # 0: no frame
00047 # 1: global frame
00048 string frame_id
00049 
00050 ================================================================================
00051 MSG: uuid_msgs/UniqueID
00052 # A universally unique identifier (UUID).
00053 #
00054 #  http://en.wikipedia.org/wiki/Universally_unique_identifier
00055 #  http://tools.ietf.org/html/rfc4122.html
00056 
00057 uint8[16] uuid
00058 
00059 ================================================================================
00060 MSG: geographic_msgs/BoundingBox
00061 # Geographic map bounding box. 
00062 #
00063 # The two GeoPoints denote diagonally opposite corners of the box.
00064 #
00065 # If min_pt.latitude is NaN, the bounding box is "global", matching
00066 # any valid latitude, longitude and altitude.
00067 #
00068 # If min_pt.altitude is NaN, the bounding box is two-dimensional and
00069 # matches any altitude within the specified latitude and longitude
00070 # range.
00071 
00072 GeoPoint min_pt         # lowest and most Southwestern corner
00073 GeoPoint max_pt         # highest and most Northeastern corner
00074 
00075 ================================================================================
00076 MSG: geographic_msgs/GeoPoint
00077 # Geographic point, using the WGS 84 reference ellipsoid.
00078 
00079 # Latitude [degrees]. Positive is north of equator; negative is south
00080 # (-90 <= latitude <= +90).
00081 float64 latitude
00082 
00083 # Longitude [degrees]. Positive is east of prime meridian; negative is
00084 # west (-180 <= longitude <= +180). At the poles, latitude is -90 or
00085 # +90, and longitude is irrelevant, but must be in range.
00086 float64 longitude
00087 
00088 # Altitude [m]. Positive is above the WGS 84 ellipsoid (NaN if unspecified).
00089 float64 altitude
00090 
00091 ================================================================================
00092 MSG: geographic_msgs/WayPoint
00093 # Way-point element for a geographic map.
00094 
00095 uuid_msgs/UniqueID id   # Unique way-point identifier
00096 GeoPoint   position     # Position relative to WGS 84 ellipsoid
00097 KeyValue[] props        # Key/value properties for this point
00098 
00099 ================================================================================
00100 MSG: geographic_msgs/KeyValue
00101 # Geographic map tag (key, value) pair
00102 #
00103 # This is equivalent to diagnostic_msgs/KeyValue, repeated here to
00104 # avoid introducing a trivial stack dependency.
00105 
00106 string key                     # tag label
00107 string value                   # corresponding value
00108 
00109 ================================================================================
00110 MSG: geographic_msgs/RouteSegment
00111 # Route network segment.
00112 #
00113 # This is one directed edge of a RouteNetwork graph. It represents a
00114 # known path from one way point to another.  If the path is two-way,
00115 # there will be another RouteSegment with "start" and "end" reversed.
00116 
00117 uuid_msgs/UniqueID id           # Unique identifier for this segment
00118 
00119 uuid_msgs/UniqueID start        # beginning way point of segment
00120 uuid_msgs/UniqueID end          # ending way point of segment
00121 
00122 KeyValue[] props                # segment properties
00123 
00124 """
00125   __slots__ = ['header','id','bounds','points','segments','props']
00126   _slot_types = ['std_msgs/Header','uuid_msgs/UniqueID','geographic_msgs/BoundingBox','geographic_msgs/WayPoint[]','geographic_msgs/RouteSegment[]','geographic_msgs/KeyValue[]']
00127 
00128   def __init__(self, *args, **kwds):
00129     """
00130     Constructor. Any message fields that are implicitly/explicitly
00131     set to None will be assigned a default value. The recommend
00132     use is keyword arguments as this is more robust to future message
00133     changes.  You cannot mix in-order arguments and keyword arguments.
00134 
00135     The available fields are:
00136        header,id,bounds,points,segments,props
00137 
00138     :param args: complete set of field values, in .msg order
00139     :param kwds: use keyword arguments corresponding to message field names
00140     to set specific fields.
00141     """
00142     if args or kwds:
00143       super(RouteNetwork, self).__init__(*args, **kwds)
00144       #message fields cannot be None, assign default values for those that are
00145       if self.header is None:
00146         self.header = std_msgs.msg.Header()
00147       if self.id is None:
00148         self.id = uuid_msgs.msg.UniqueID()
00149       if self.bounds is None:
00150         self.bounds = geographic_msgs.msg.BoundingBox()
00151       if self.points is None:
00152         self.points = []
00153       if self.segments is None:
00154         self.segments = []
00155       if self.props is None:
00156         self.props = []
00157     else:
00158       self.header = std_msgs.msg.Header()
00159       self.id = uuid_msgs.msg.UniqueID()
00160       self.bounds = geographic_msgs.msg.BoundingBox()
00161       self.points = []
00162       self.segments = []
00163       self.props = []
00164 
00165   def _get_types(self):
00166     """
00167     internal API method
00168     """
00169     return self._slot_types
00170 
00171   def serialize(self, buff):
00172     """
00173     serialize message into buffer
00174     :param buff: buffer, ``StringIO``
00175     """
00176     try:
00177       _x = self
00178       buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00179       _x = self.header.frame_id
00180       length = len(_x)
00181       if python3 or type(_x) == unicode:
00182         _x = _x.encode('utf-8')
00183         length = len(_x)
00184       buff.write(struct.pack('<I%ss'%length, length, _x))
00185       _x = self.id.uuid
00186       # - if encoded as a list instead, serialize as bytes instead of string
00187       if type(_x) in [list, tuple]:
00188         buff.write(_struct_16B.pack(*_x))
00189       else:
00190         buff.write(_struct_16s.pack(_x))
00191       _x = self
00192       buff.write(_struct_6d.pack(_x.bounds.min_pt.latitude, _x.bounds.min_pt.longitude, _x.bounds.min_pt.altitude, _x.bounds.max_pt.latitude, _x.bounds.max_pt.longitude, _x.bounds.max_pt.altitude))
00193       length = len(self.points)
00194       buff.write(_struct_I.pack(length))
00195       for val1 in self.points:
00196         _v1 = val1.id
00197         _x = _v1.uuid
00198         # - if encoded as a list instead, serialize as bytes instead of string
00199         if type(_x) in [list, tuple]:
00200           buff.write(_struct_16B.pack(*_x))
00201         else:
00202           buff.write(_struct_16s.pack(_x))
00203         _v2 = val1.position
00204         _x = _v2
00205         buff.write(_struct_3d.pack(_x.latitude, _x.longitude, _x.altitude))
00206         length = len(val1.props)
00207         buff.write(_struct_I.pack(length))
00208         for val2 in val1.props:
00209           _x = val2.key
00210           length = len(_x)
00211           if python3 or type(_x) == unicode:
00212             _x = _x.encode('utf-8')
00213             length = len(_x)
00214           buff.write(struct.pack('<I%ss'%length, length, _x))
00215           _x = val2.value
00216           length = len(_x)
00217           if python3 or type(_x) == unicode:
00218             _x = _x.encode('utf-8')
00219             length = len(_x)
00220           buff.write(struct.pack('<I%ss'%length, length, _x))
00221       length = len(self.segments)
00222       buff.write(_struct_I.pack(length))
00223       for val1 in self.segments:
00224         _v3 = val1.id
00225         _x = _v3.uuid
00226         # - if encoded as a list instead, serialize as bytes instead of string
00227         if type(_x) in [list, tuple]:
00228           buff.write(_struct_16B.pack(*_x))
00229         else:
00230           buff.write(_struct_16s.pack(_x))
00231         _v4 = val1.start
00232         _x = _v4.uuid
00233         # - if encoded as a list instead, serialize as bytes instead of string
00234         if type(_x) in [list, tuple]:
00235           buff.write(_struct_16B.pack(*_x))
00236         else:
00237           buff.write(_struct_16s.pack(_x))
00238         _v5 = val1.end
00239         _x = _v5.uuid
00240         # - if encoded as a list instead, serialize as bytes instead of string
00241         if type(_x) in [list, tuple]:
00242           buff.write(_struct_16B.pack(*_x))
00243         else:
00244           buff.write(_struct_16s.pack(_x))
00245         length = len(val1.props)
00246         buff.write(_struct_I.pack(length))
00247         for val2 in val1.props:
00248           _x = val2.key
00249           length = len(_x)
00250           if python3 or type(_x) == unicode:
00251             _x = _x.encode('utf-8')
00252             length = len(_x)
00253           buff.write(struct.pack('<I%ss'%length, length, _x))
00254           _x = val2.value
00255           length = len(_x)
00256           if python3 or type(_x) == unicode:
00257             _x = _x.encode('utf-8')
00258             length = len(_x)
00259           buff.write(struct.pack('<I%ss'%length, length, _x))
00260       length = len(self.props)
00261       buff.write(_struct_I.pack(length))
00262       for val1 in self.props:
00263         _x = val1.key
00264         length = len(_x)
00265         if python3 or type(_x) == unicode:
00266           _x = _x.encode('utf-8')
00267           length = len(_x)
00268         buff.write(struct.pack('<I%ss'%length, length, _x))
00269         _x = val1.value
00270         length = len(_x)
00271         if python3 or type(_x) == unicode:
00272           _x = _x.encode('utf-8')
00273           length = len(_x)
00274         buff.write(struct.pack('<I%ss'%length, length, _x))
00275     except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00276     except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00277 
00278   def deserialize(self, str):
00279     """
00280     unpack serialized message in str into this message instance
00281     :param str: byte array of serialized message, ``str``
00282     """
00283     try:
00284       if self.header is None:
00285         self.header = std_msgs.msg.Header()
00286       if self.id is None:
00287         self.id = uuid_msgs.msg.UniqueID()
00288       if self.bounds is None:
00289         self.bounds = geographic_msgs.msg.BoundingBox()
00290       if self.points is None:
00291         self.points = None
00292       if self.segments is None:
00293         self.segments = None
00294       if self.props is None:
00295         self.props = None
00296       end = 0
00297       _x = self
00298       start = end
00299       end += 12
00300       (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00301       start = end
00302       end += 4
00303       (length,) = _struct_I.unpack(str[start:end])
00304       start = end
00305       end += length
00306       if python3:
00307         self.header.frame_id = str[start:end].decode('utf-8')
00308       else:
00309         self.header.frame_id = str[start:end]
00310       start = end
00311       end += 16
00312       self.id.uuid = str[start:end]
00313       _x = self
00314       start = end
00315       end += 48
00316       (_x.bounds.min_pt.latitude, _x.bounds.min_pt.longitude, _x.bounds.min_pt.altitude, _x.bounds.max_pt.latitude, _x.bounds.max_pt.longitude, _x.bounds.max_pt.altitude,) = _struct_6d.unpack(str[start:end])
00317       start = end
00318       end += 4
00319       (length,) = _struct_I.unpack(str[start:end])
00320       self.points = []
00321       for i in range(0, length):
00322         val1 = geographic_msgs.msg.WayPoint()
00323         _v6 = val1.id
00324         start = end
00325         end += 16
00326         _v6.uuid = str[start:end]
00327         _v7 = val1.position
00328         _x = _v7
00329         start = end
00330         end += 24
00331         (_x.latitude, _x.longitude, _x.altitude,) = _struct_3d.unpack(str[start:end])
00332         start = end
00333         end += 4
00334         (length,) = _struct_I.unpack(str[start:end])
00335         val1.props = []
00336         for i in range(0, length):
00337           val2 = geographic_msgs.msg.KeyValue()
00338           start = end
00339           end += 4
00340           (length,) = _struct_I.unpack(str[start:end])
00341           start = end
00342           end += length
00343           if python3:
00344             val2.key = str[start:end].decode('utf-8')
00345           else:
00346             val2.key = str[start:end]
00347           start = end
00348           end += 4
00349           (length,) = _struct_I.unpack(str[start:end])
00350           start = end
00351           end += length
00352           if python3:
00353             val2.value = str[start:end].decode('utf-8')
00354           else:
00355             val2.value = str[start:end]
00356           val1.props.append(val2)
00357         self.points.append(val1)
00358       start = end
00359       end += 4
00360       (length,) = _struct_I.unpack(str[start:end])
00361       self.segments = []
00362       for i in range(0, length):
00363         val1 = geographic_msgs.msg.RouteSegment()
00364         _v8 = val1.id
00365         start = end
00366         end += 16
00367         _v8.uuid = str[start:end]
00368         _v9 = val1.start
00369         start = end
00370         end += 16
00371         _v9.uuid = str[start:end]
00372         _v10 = val1.end
00373         start = end
00374         end += 16
00375         _v10.uuid = str[start:end]
00376         start = end
00377         end += 4
00378         (length,) = _struct_I.unpack(str[start:end])
00379         val1.props = []
00380         for i in range(0, length):
00381           val2 = geographic_msgs.msg.KeyValue()
00382           start = end
00383           end += 4
00384           (length,) = _struct_I.unpack(str[start:end])
00385           start = end
00386           end += length
00387           if python3:
00388             val2.key = str[start:end].decode('utf-8')
00389           else:
00390             val2.key = str[start:end]
00391           start = end
00392           end += 4
00393           (length,) = _struct_I.unpack(str[start:end])
00394           start = end
00395           end += length
00396           if python3:
00397             val2.value = str[start:end].decode('utf-8')
00398           else:
00399             val2.value = str[start:end]
00400           val1.props.append(val2)
00401         self.segments.append(val1)
00402       start = end
00403       end += 4
00404       (length,) = _struct_I.unpack(str[start:end])
00405       self.props = []
00406       for i in range(0, length):
00407         val1 = geographic_msgs.msg.KeyValue()
00408         start = end
00409         end += 4
00410         (length,) = _struct_I.unpack(str[start:end])
00411         start = end
00412         end += length
00413         if python3:
00414           val1.key = str[start:end].decode('utf-8')
00415         else:
00416           val1.key = str[start:end]
00417         start = end
00418         end += 4
00419         (length,) = _struct_I.unpack(str[start:end])
00420         start = end
00421         end += length
00422         if python3:
00423           val1.value = str[start:end].decode('utf-8')
00424         else:
00425           val1.value = str[start:end]
00426         self.props.append(val1)
00427       return self
00428     except struct.error as e:
00429       raise genpy.DeserializationError(e) #most likely buffer underfill
00430 
00431 
00432   def serialize_numpy(self, buff, numpy):
00433     """
00434     serialize message with numpy array types into buffer
00435     :param buff: buffer, ``StringIO``
00436     :param numpy: numpy python module
00437     """
00438     try:
00439       _x = self
00440       buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00441       _x = self.header.frame_id
00442       length = len(_x)
00443       if python3 or type(_x) == unicode:
00444         _x = _x.encode('utf-8')
00445         length = len(_x)
00446       buff.write(struct.pack('<I%ss'%length, length, _x))
00447       _x = self.id.uuid
00448       # - if encoded as a list instead, serialize as bytes instead of string
00449       if type(_x) in [list, tuple]:
00450         buff.write(_struct_16B.pack(*_x))
00451       else:
00452         buff.write(_struct_16s.pack(_x))
00453       _x = self
00454       buff.write(_struct_6d.pack(_x.bounds.min_pt.latitude, _x.bounds.min_pt.longitude, _x.bounds.min_pt.altitude, _x.bounds.max_pt.latitude, _x.bounds.max_pt.longitude, _x.bounds.max_pt.altitude))
00455       length = len(self.points)
00456       buff.write(_struct_I.pack(length))
00457       for val1 in self.points:
00458         _v11 = val1.id
00459         _x = _v11.uuid
00460         # - if encoded as a list instead, serialize as bytes instead of string
00461         if type(_x) in [list, tuple]:
00462           buff.write(_struct_16B.pack(*_x))
00463         else:
00464           buff.write(_struct_16s.pack(_x))
00465         _v12 = val1.position
00466         _x = _v12
00467         buff.write(_struct_3d.pack(_x.latitude, _x.longitude, _x.altitude))
00468         length = len(val1.props)
00469         buff.write(_struct_I.pack(length))
00470         for val2 in val1.props:
00471           _x = val2.key
00472           length = len(_x)
00473           if python3 or type(_x) == unicode:
00474             _x = _x.encode('utf-8')
00475             length = len(_x)
00476           buff.write(struct.pack('<I%ss'%length, length, _x))
00477           _x = val2.value
00478           length = len(_x)
00479           if python3 or type(_x) == unicode:
00480             _x = _x.encode('utf-8')
00481             length = len(_x)
00482           buff.write(struct.pack('<I%ss'%length, length, _x))
00483       length = len(self.segments)
00484       buff.write(_struct_I.pack(length))
00485       for val1 in self.segments:
00486         _v13 = val1.id
00487         _x = _v13.uuid
00488         # - if encoded as a list instead, serialize as bytes instead of string
00489         if type(_x) in [list, tuple]:
00490           buff.write(_struct_16B.pack(*_x))
00491         else:
00492           buff.write(_struct_16s.pack(_x))
00493         _v14 = val1.start
00494         _x = _v14.uuid
00495         # - if encoded as a list instead, serialize as bytes instead of string
00496         if type(_x) in [list, tuple]:
00497           buff.write(_struct_16B.pack(*_x))
00498         else:
00499           buff.write(_struct_16s.pack(_x))
00500         _v15 = val1.end
00501         _x = _v15.uuid
00502         # - if encoded as a list instead, serialize as bytes instead of string
00503         if type(_x) in [list, tuple]:
00504           buff.write(_struct_16B.pack(*_x))
00505         else:
00506           buff.write(_struct_16s.pack(_x))
00507         length = len(val1.props)
00508         buff.write(_struct_I.pack(length))
00509         for val2 in val1.props:
00510           _x = val2.key
00511           length = len(_x)
00512           if python3 or type(_x) == unicode:
00513             _x = _x.encode('utf-8')
00514             length = len(_x)
00515           buff.write(struct.pack('<I%ss'%length, length, _x))
00516           _x = val2.value
00517           length = len(_x)
00518           if python3 or type(_x) == unicode:
00519             _x = _x.encode('utf-8')
00520             length = len(_x)
00521           buff.write(struct.pack('<I%ss'%length, length, _x))
00522       length = len(self.props)
00523       buff.write(_struct_I.pack(length))
00524       for val1 in self.props:
00525         _x = val1.key
00526         length = len(_x)
00527         if python3 or type(_x) == unicode:
00528           _x = _x.encode('utf-8')
00529           length = len(_x)
00530         buff.write(struct.pack('<I%ss'%length, length, _x))
00531         _x = val1.value
00532         length = len(_x)
00533         if python3 or type(_x) == unicode:
00534           _x = _x.encode('utf-8')
00535           length = len(_x)
00536         buff.write(struct.pack('<I%ss'%length, length, _x))
00537     except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00538     except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00539 
00540   def deserialize_numpy(self, str, numpy):
00541     """
00542     unpack serialized message in str into this message instance using numpy for array types
00543     :param str: byte array of serialized message, ``str``
00544     :param numpy: numpy python module
00545     """
00546     try:
00547       if self.header is None:
00548         self.header = std_msgs.msg.Header()
00549       if self.id is None:
00550         self.id = uuid_msgs.msg.UniqueID()
00551       if self.bounds is None:
00552         self.bounds = geographic_msgs.msg.BoundingBox()
00553       if self.points is None:
00554         self.points = None
00555       if self.segments is None:
00556         self.segments = None
00557       if self.props is None:
00558         self.props = None
00559       end = 0
00560       _x = self
00561       start = end
00562       end += 12
00563       (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00564       start = end
00565       end += 4
00566       (length,) = _struct_I.unpack(str[start:end])
00567       start = end
00568       end += length
00569       if python3:
00570         self.header.frame_id = str[start:end].decode('utf-8')
00571       else:
00572         self.header.frame_id = str[start:end]
00573       start = end
00574       end += 16
00575       self.id.uuid = str[start:end]
00576       _x = self
00577       start = end
00578       end += 48
00579       (_x.bounds.min_pt.latitude, _x.bounds.min_pt.longitude, _x.bounds.min_pt.altitude, _x.bounds.max_pt.latitude, _x.bounds.max_pt.longitude, _x.bounds.max_pt.altitude,) = _struct_6d.unpack(str[start:end])
00580       start = end
00581       end += 4
00582       (length,) = _struct_I.unpack(str[start:end])
00583       self.points = []
00584       for i in range(0, length):
00585         val1 = geographic_msgs.msg.WayPoint()
00586         _v16 = val1.id
00587         start = end
00588         end += 16
00589         _v16.uuid = str[start:end]
00590         _v17 = val1.position
00591         _x = _v17
00592         start = end
00593         end += 24
00594         (_x.latitude, _x.longitude, _x.altitude,) = _struct_3d.unpack(str[start:end])
00595         start = end
00596         end += 4
00597         (length,) = _struct_I.unpack(str[start:end])
00598         val1.props = []
00599         for i in range(0, length):
00600           val2 = geographic_msgs.msg.KeyValue()
00601           start = end
00602           end += 4
00603           (length,) = _struct_I.unpack(str[start:end])
00604           start = end
00605           end += length
00606           if python3:
00607             val2.key = str[start:end].decode('utf-8')
00608           else:
00609             val2.key = str[start:end]
00610           start = end
00611           end += 4
00612           (length,) = _struct_I.unpack(str[start:end])
00613           start = end
00614           end += length
00615           if python3:
00616             val2.value = str[start:end].decode('utf-8')
00617           else:
00618             val2.value = str[start:end]
00619           val1.props.append(val2)
00620         self.points.append(val1)
00621       start = end
00622       end += 4
00623       (length,) = _struct_I.unpack(str[start:end])
00624       self.segments = []
00625       for i in range(0, length):
00626         val1 = geographic_msgs.msg.RouteSegment()
00627         _v18 = val1.id
00628         start = end
00629         end += 16
00630         _v18.uuid = str[start:end]
00631         _v19 = val1.start
00632         start = end
00633         end += 16
00634         _v19.uuid = str[start:end]
00635         _v20 = val1.end
00636         start = end
00637         end += 16
00638         _v20.uuid = str[start:end]
00639         start = end
00640         end += 4
00641         (length,) = _struct_I.unpack(str[start:end])
00642         val1.props = []
00643         for i in range(0, length):
00644           val2 = geographic_msgs.msg.KeyValue()
00645           start = end
00646           end += 4
00647           (length,) = _struct_I.unpack(str[start:end])
00648           start = end
00649           end += length
00650           if python3:
00651             val2.key = str[start:end].decode('utf-8')
00652           else:
00653             val2.key = str[start:end]
00654           start = end
00655           end += 4
00656           (length,) = _struct_I.unpack(str[start:end])
00657           start = end
00658           end += length
00659           if python3:
00660             val2.value = str[start:end].decode('utf-8')
00661           else:
00662             val2.value = str[start:end]
00663           val1.props.append(val2)
00664         self.segments.append(val1)
00665       start = end
00666       end += 4
00667       (length,) = _struct_I.unpack(str[start:end])
00668       self.props = []
00669       for i in range(0, length):
00670         val1 = geographic_msgs.msg.KeyValue()
00671         start = end
00672         end += 4
00673         (length,) = _struct_I.unpack(str[start:end])
00674         start = end
00675         end += length
00676         if python3:
00677           val1.key = str[start:end].decode('utf-8')
00678         else:
00679           val1.key = str[start:end]
00680         start = end
00681         end += 4
00682         (length,) = _struct_I.unpack(str[start:end])
00683         start = end
00684         end += length
00685         if python3:
00686           val1.value = str[start:end].decode('utf-8')
00687         else:
00688           val1.value = str[start:end]
00689         self.props.append(val1)
00690       return self
00691     except struct.error as e:
00692       raise genpy.DeserializationError(e) #most likely buffer underfill
00693 
00694 _struct_I = genpy.struct_I
00695 _struct_3I = struct.Struct("<3I")
00696 _struct_3d = struct.Struct("<3d")
00697 _struct_6d = struct.Struct("<6d")
00698 _struct_16B = struct.Struct("<16B")
00699 _struct_16s = struct.Struct("<16s")


geographic_msgs
Author(s): Jack O'Quin
autogenerated on Mon Oct 6 2014 00:09:26