00001 """autogenerated by genpy from hrl_phri_2011/PHRIPointCloudCapture.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 geometry_msgs.msg
00008 import sensor_msgs.msg
00009 import std_msgs.msg
00010
00011 class PHRIPointCloudCapture(genpy.Message):
00012 _md5sum = "c6debef93d48b75193793d0b80ad267f"
00013 _type = "hrl_phri_2011/PHRIPointCloudCapture"
00014 _has_header = True
00015 _full_text = """Header header
00016 # seq is [0, 1, ...]
00017 # frame_id in header is base_frame
00018
00019 sensor_msgs/PointCloud2 pc_capture
00020 # in PC's native frame
00021
00022 string[] frame_names
00023 # names matching respective saved_frames
00024
00025 geometry_msgs/PoseStamped[] saved_frames
00026 # header is same as total outer header
00027
00028 geometry_msgs/PoseStamped pc_frame
00029
00030 ================================================================================
00031 MSG: std_msgs/Header
00032 # Standard metadata for higher-level stamped data types.
00033 # This is generally used to communicate timestamped data
00034 # in a particular coordinate frame.
00035 #
00036 # sequence ID: consecutively increasing ID
00037 uint32 seq
00038 #Two-integer timestamp that is expressed as:
00039 # * stamp.secs: seconds (stamp_secs) since epoch
00040 # * stamp.nsecs: nanoseconds since stamp_secs
00041 # time-handling sugar is provided by the client library
00042 time stamp
00043 #Frame this data is associated with
00044 # 0: no frame
00045 # 1: global frame
00046 string frame_id
00047
00048 ================================================================================
00049 MSG: sensor_msgs/PointCloud2
00050 # This message holds a collection of N-dimensional points, which may
00051 # contain additional information such as normals, intensity, etc. The
00052 # point data is stored as a binary blob, its layout described by the
00053 # contents of the "fields" array.
00054
00055 # The point cloud data may be organized 2d (image-like) or 1d
00056 # (unordered). Point clouds organized as 2d images may be produced by
00057 # camera depth sensors such as stereo or time-of-flight.
00058
00059 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00060 # points).
00061 Header header
00062
00063 # 2D structure of the point cloud. If the cloud is unordered, height is
00064 # 1 and width is the length of the point cloud.
00065 uint32 height
00066 uint32 width
00067
00068 # Describes the channels and their layout in the binary data blob.
00069 PointField[] fields
00070
00071 bool is_bigendian # Is this data bigendian?
00072 uint32 point_step # Length of a point in bytes
00073 uint32 row_step # Length of a row in bytes
00074 uint8[] data # Actual point data, size is (row_step*height)
00075
00076 bool is_dense # True if there are no invalid points
00077
00078 ================================================================================
00079 MSG: sensor_msgs/PointField
00080 # This message holds the description of one point entry in the
00081 # PointCloud2 message format.
00082 uint8 INT8 = 1
00083 uint8 UINT8 = 2
00084 uint8 INT16 = 3
00085 uint8 UINT16 = 4
00086 uint8 INT32 = 5
00087 uint8 UINT32 = 6
00088 uint8 FLOAT32 = 7
00089 uint8 FLOAT64 = 8
00090
00091 string name # Name of field
00092 uint32 offset # Offset from start of point struct
00093 uint8 datatype # Datatype enumeration, see above
00094 uint32 count # How many elements in the field
00095
00096 ================================================================================
00097 MSG: geometry_msgs/PoseStamped
00098 # A Pose with reference coordinate frame and timestamp
00099 Header header
00100 Pose pose
00101
00102 ================================================================================
00103 MSG: geometry_msgs/Pose
00104 # A representation of pose in free space, composed of postion and orientation.
00105 Point position
00106 Quaternion orientation
00107
00108 ================================================================================
00109 MSG: geometry_msgs/Point
00110 # This contains the position of a point in free space
00111 float64 x
00112 float64 y
00113 float64 z
00114
00115 ================================================================================
00116 MSG: geometry_msgs/Quaternion
00117 # This represents an orientation in free space in quaternion form.
00118
00119 float64 x
00120 float64 y
00121 float64 z
00122 float64 w
00123
00124 """
00125 __slots__ = ['header','pc_capture','frame_names','saved_frames','pc_frame']
00126 _slot_types = ['std_msgs/Header','sensor_msgs/PointCloud2','string[]','geometry_msgs/PoseStamped[]','geometry_msgs/PoseStamped']
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,pc_capture,frame_names,saved_frames,pc_frame
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(PHRIPointCloudCapture, self).__init__(*args, **kwds)
00144
00145 if self.header is None:
00146 self.header = std_msgs.msg.Header()
00147 if self.pc_capture is None:
00148 self.pc_capture = sensor_msgs.msg.PointCloud2()
00149 if self.frame_names is None:
00150 self.frame_names = []
00151 if self.saved_frames is None:
00152 self.saved_frames = []
00153 if self.pc_frame is None:
00154 self.pc_frame = geometry_msgs.msg.PoseStamped()
00155 else:
00156 self.header = std_msgs.msg.Header()
00157 self.pc_capture = sensor_msgs.msg.PointCloud2()
00158 self.frame_names = []
00159 self.saved_frames = []
00160 self.pc_frame = geometry_msgs.msg.PoseStamped()
00161
00162 def _get_types(self):
00163 """
00164 internal API method
00165 """
00166 return self._slot_types
00167
00168 def serialize(self, buff):
00169 """
00170 serialize message into buffer
00171 :param buff: buffer, ``StringIO``
00172 """
00173 try:
00174 _x = self
00175 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00176 _x = self.header.frame_id
00177 length = len(_x)
00178 if python3 or type(_x) == unicode:
00179 _x = _x.encode('utf-8')
00180 length = len(_x)
00181 buff.write(struct.pack('<I%ss'%length, length, _x))
00182 _x = self
00183 buff.write(_struct_3I.pack(_x.pc_capture.header.seq, _x.pc_capture.header.stamp.secs, _x.pc_capture.header.stamp.nsecs))
00184 _x = self.pc_capture.header.frame_id
00185 length = len(_x)
00186 if python3 or type(_x) == unicode:
00187 _x = _x.encode('utf-8')
00188 length = len(_x)
00189 buff.write(struct.pack('<I%ss'%length, length, _x))
00190 _x = self
00191 buff.write(_struct_2I.pack(_x.pc_capture.height, _x.pc_capture.width))
00192 length = len(self.pc_capture.fields)
00193 buff.write(_struct_I.pack(length))
00194 for val1 in self.pc_capture.fields:
00195 _x = val1.name
00196 length = len(_x)
00197 if python3 or type(_x) == unicode:
00198 _x = _x.encode('utf-8')
00199 length = len(_x)
00200 buff.write(struct.pack('<I%ss'%length, length, _x))
00201 _x = val1
00202 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00203 _x = self
00204 buff.write(_struct_B2I.pack(_x.pc_capture.is_bigendian, _x.pc_capture.point_step, _x.pc_capture.row_step))
00205 _x = self.pc_capture.data
00206 length = len(_x)
00207
00208 if type(_x) in [list, tuple]:
00209 buff.write(struct.pack('<I%sB'%length, length, *_x))
00210 else:
00211 buff.write(struct.pack('<I%ss'%length, length, _x))
00212 buff.write(_struct_B.pack(self.pc_capture.is_dense))
00213 length = len(self.frame_names)
00214 buff.write(_struct_I.pack(length))
00215 for val1 in self.frame_names:
00216 length = len(val1)
00217 if python3 or type(val1) == unicode:
00218 val1 = val1.encode('utf-8')
00219 length = len(val1)
00220 buff.write(struct.pack('<I%ss'%length, length, val1))
00221 length = len(self.saved_frames)
00222 buff.write(_struct_I.pack(length))
00223 for val1 in self.saved_frames:
00224 _v1 = val1.header
00225 buff.write(_struct_I.pack(_v1.seq))
00226 _v2 = _v1.stamp
00227 _x = _v2
00228 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00229 _x = _v1.frame_id
00230 length = len(_x)
00231 if python3 or type(_x) == unicode:
00232 _x = _x.encode('utf-8')
00233 length = len(_x)
00234 buff.write(struct.pack('<I%ss'%length, length, _x))
00235 _v3 = val1.pose
00236 _v4 = _v3.position
00237 _x = _v4
00238 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00239 _v5 = _v3.orientation
00240 _x = _v5
00241 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00242 _x = self
00243 buff.write(_struct_3I.pack(_x.pc_frame.header.seq, _x.pc_frame.header.stamp.secs, _x.pc_frame.header.stamp.nsecs))
00244 _x = self.pc_frame.header.frame_id
00245 length = len(_x)
00246 if python3 or type(_x) == unicode:
00247 _x = _x.encode('utf-8')
00248 length = len(_x)
00249 buff.write(struct.pack('<I%ss'%length, length, _x))
00250 _x = self
00251 buff.write(_struct_7d.pack(_x.pc_frame.pose.position.x, _x.pc_frame.pose.position.y, _x.pc_frame.pose.position.z, _x.pc_frame.pose.orientation.x, _x.pc_frame.pose.orientation.y, _x.pc_frame.pose.orientation.z, _x.pc_frame.pose.orientation.w))
00252 except struct.error as se: self._check_types(se)
00253 except TypeError as te: self._check_types(te)
00254
00255 def deserialize(self, str):
00256 """
00257 unpack serialized message in str into this message instance
00258 :param str: byte array of serialized message, ``str``
00259 """
00260 try:
00261 if self.header is None:
00262 self.header = std_msgs.msg.Header()
00263 if self.pc_capture is None:
00264 self.pc_capture = sensor_msgs.msg.PointCloud2()
00265 if self.saved_frames is None:
00266 self.saved_frames = None
00267 if self.pc_frame is None:
00268 self.pc_frame = geometry_msgs.msg.PoseStamped()
00269 end = 0
00270 _x = self
00271 start = end
00272 end += 12
00273 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00274 start = end
00275 end += 4
00276 (length,) = _struct_I.unpack(str[start:end])
00277 start = end
00278 end += length
00279 if python3:
00280 self.header.frame_id = str[start:end].decode('utf-8')
00281 else:
00282 self.header.frame_id = str[start:end]
00283 _x = self
00284 start = end
00285 end += 12
00286 (_x.pc_capture.header.seq, _x.pc_capture.header.stamp.secs, _x.pc_capture.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00287 start = end
00288 end += 4
00289 (length,) = _struct_I.unpack(str[start:end])
00290 start = end
00291 end += length
00292 if python3:
00293 self.pc_capture.header.frame_id = str[start:end].decode('utf-8')
00294 else:
00295 self.pc_capture.header.frame_id = str[start:end]
00296 _x = self
00297 start = end
00298 end += 8
00299 (_x.pc_capture.height, _x.pc_capture.width,) = _struct_2I.unpack(str[start:end])
00300 start = end
00301 end += 4
00302 (length,) = _struct_I.unpack(str[start:end])
00303 self.pc_capture.fields = []
00304 for i in range(0, length):
00305 val1 = sensor_msgs.msg.PointField()
00306 start = end
00307 end += 4
00308 (length,) = _struct_I.unpack(str[start:end])
00309 start = end
00310 end += length
00311 if python3:
00312 val1.name = str[start:end].decode('utf-8')
00313 else:
00314 val1.name = str[start:end]
00315 _x = val1
00316 start = end
00317 end += 9
00318 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00319 self.pc_capture.fields.append(val1)
00320 _x = self
00321 start = end
00322 end += 9
00323 (_x.pc_capture.is_bigendian, _x.pc_capture.point_step, _x.pc_capture.row_step,) = _struct_B2I.unpack(str[start:end])
00324 self.pc_capture.is_bigendian = bool(self.pc_capture.is_bigendian)
00325 start = end
00326 end += 4
00327 (length,) = _struct_I.unpack(str[start:end])
00328 start = end
00329 end += length
00330 if python3:
00331 self.pc_capture.data = str[start:end].decode('utf-8')
00332 else:
00333 self.pc_capture.data = str[start:end]
00334 start = end
00335 end += 1
00336 (self.pc_capture.is_dense,) = _struct_B.unpack(str[start:end])
00337 self.pc_capture.is_dense = bool(self.pc_capture.is_dense)
00338 start = end
00339 end += 4
00340 (length,) = _struct_I.unpack(str[start:end])
00341 self.frame_names = []
00342 for i in range(0, length):
00343 start = end
00344 end += 4
00345 (length,) = _struct_I.unpack(str[start:end])
00346 start = end
00347 end += length
00348 if python3:
00349 val1 = str[start:end].decode('utf-8')
00350 else:
00351 val1 = str[start:end]
00352 self.frame_names.append(val1)
00353 start = end
00354 end += 4
00355 (length,) = _struct_I.unpack(str[start:end])
00356 self.saved_frames = []
00357 for i in range(0, length):
00358 val1 = geometry_msgs.msg.PoseStamped()
00359 _v6 = val1.header
00360 start = end
00361 end += 4
00362 (_v6.seq,) = _struct_I.unpack(str[start:end])
00363 _v7 = _v6.stamp
00364 _x = _v7
00365 start = end
00366 end += 8
00367 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00368 start = end
00369 end += 4
00370 (length,) = _struct_I.unpack(str[start:end])
00371 start = end
00372 end += length
00373 if python3:
00374 _v6.frame_id = str[start:end].decode('utf-8')
00375 else:
00376 _v6.frame_id = str[start:end]
00377 _v8 = val1.pose
00378 _v9 = _v8.position
00379 _x = _v9
00380 start = end
00381 end += 24
00382 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00383 _v10 = _v8.orientation
00384 _x = _v10
00385 start = end
00386 end += 32
00387 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00388 self.saved_frames.append(val1)
00389 _x = self
00390 start = end
00391 end += 12
00392 (_x.pc_frame.header.seq, _x.pc_frame.header.stamp.secs, _x.pc_frame.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00393 start = end
00394 end += 4
00395 (length,) = _struct_I.unpack(str[start:end])
00396 start = end
00397 end += length
00398 if python3:
00399 self.pc_frame.header.frame_id = str[start:end].decode('utf-8')
00400 else:
00401 self.pc_frame.header.frame_id = str[start:end]
00402 _x = self
00403 start = end
00404 end += 56
00405 (_x.pc_frame.pose.position.x, _x.pc_frame.pose.position.y, _x.pc_frame.pose.position.z, _x.pc_frame.pose.orientation.x, _x.pc_frame.pose.orientation.y, _x.pc_frame.pose.orientation.z, _x.pc_frame.pose.orientation.w,) = _struct_7d.unpack(str[start:end])
00406 return self
00407 except struct.error as e:
00408 raise genpy.DeserializationError(e)
00409
00410
00411 def serialize_numpy(self, buff, numpy):
00412 """
00413 serialize message with numpy array types into buffer
00414 :param buff: buffer, ``StringIO``
00415 :param numpy: numpy python module
00416 """
00417 try:
00418 _x = self
00419 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00420 _x = self.header.frame_id
00421 length = len(_x)
00422 if python3 or type(_x) == unicode:
00423 _x = _x.encode('utf-8')
00424 length = len(_x)
00425 buff.write(struct.pack('<I%ss'%length, length, _x))
00426 _x = self
00427 buff.write(_struct_3I.pack(_x.pc_capture.header.seq, _x.pc_capture.header.stamp.secs, _x.pc_capture.header.stamp.nsecs))
00428 _x = self.pc_capture.header.frame_id
00429 length = len(_x)
00430 if python3 or type(_x) == unicode:
00431 _x = _x.encode('utf-8')
00432 length = len(_x)
00433 buff.write(struct.pack('<I%ss'%length, length, _x))
00434 _x = self
00435 buff.write(_struct_2I.pack(_x.pc_capture.height, _x.pc_capture.width))
00436 length = len(self.pc_capture.fields)
00437 buff.write(_struct_I.pack(length))
00438 for val1 in self.pc_capture.fields:
00439 _x = val1.name
00440 length = len(_x)
00441 if python3 or type(_x) == unicode:
00442 _x = _x.encode('utf-8')
00443 length = len(_x)
00444 buff.write(struct.pack('<I%ss'%length, length, _x))
00445 _x = val1
00446 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00447 _x = self
00448 buff.write(_struct_B2I.pack(_x.pc_capture.is_bigendian, _x.pc_capture.point_step, _x.pc_capture.row_step))
00449 _x = self.pc_capture.data
00450 length = len(_x)
00451
00452 if type(_x) in [list, tuple]:
00453 buff.write(struct.pack('<I%sB'%length, length, *_x))
00454 else:
00455 buff.write(struct.pack('<I%ss'%length, length, _x))
00456 buff.write(_struct_B.pack(self.pc_capture.is_dense))
00457 length = len(self.frame_names)
00458 buff.write(_struct_I.pack(length))
00459 for val1 in self.frame_names:
00460 length = len(val1)
00461 if python3 or type(val1) == unicode:
00462 val1 = val1.encode('utf-8')
00463 length = len(val1)
00464 buff.write(struct.pack('<I%ss'%length, length, val1))
00465 length = len(self.saved_frames)
00466 buff.write(_struct_I.pack(length))
00467 for val1 in self.saved_frames:
00468 _v11 = val1.header
00469 buff.write(_struct_I.pack(_v11.seq))
00470 _v12 = _v11.stamp
00471 _x = _v12
00472 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00473 _x = _v11.frame_id
00474 length = len(_x)
00475 if python3 or type(_x) == unicode:
00476 _x = _x.encode('utf-8')
00477 length = len(_x)
00478 buff.write(struct.pack('<I%ss'%length, length, _x))
00479 _v13 = val1.pose
00480 _v14 = _v13.position
00481 _x = _v14
00482 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00483 _v15 = _v13.orientation
00484 _x = _v15
00485 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00486 _x = self
00487 buff.write(_struct_3I.pack(_x.pc_frame.header.seq, _x.pc_frame.header.stamp.secs, _x.pc_frame.header.stamp.nsecs))
00488 _x = self.pc_frame.header.frame_id
00489 length = len(_x)
00490 if python3 or type(_x) == unicode:
00491 _x = _x.encode('utf-8')
00492 length = len(_x)
00493 buff.write(struct.pack('<I%ss'%length, length, _x))
00494 _x = self
00495 buff.write(_struct_7d.pack(_x.pc_frame.pose.position.x, _x.pc_frame.pose.position.y, _x.pc_frame.pose.position.z, _x.pc_frame.pose.orientation.x, _x.pc_frame.pose.orientation.y, _x.pc_frame.pose.orientation.z, _x.pc_frame.pose.orientation.w))
00496 except struct.error as se: self._check_types(se)
00497 except TypeError as te: self._check_types(te)
00498
00499 def deserialize_numpy(self, str, numpy):
00500 """
00501 unpack serialized message in str into this message instance using numpy for array types
00502 :param str: byte array of serialized message, ``str``
00503 :param numpy: numpy python module
00504 """
00505 try:
00506 if self.header is None:
00507 self.header = std_msgs.msg.Header()
00508 if self.pc_capture is None:
00509 self.pc_capture = sensor_msgs.msg.PointCloud2()
00510 if self.saved_frames is None:
00511 self.saved_frames = None
00512 if self.pc_frame is None:
00513 self.pc_frame = geometry_msgs.msg.PoseStamped()
00514 end = 0
00515 _x = self
00516 start = end
00517 end += 12
00518 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00519 start = end
00520 end += 4
00521 (length,) = _struct_I.unpack(str[start:end])
00522 start = end
00523 end += length
00524 if python3:
00525 self.header.frame_id = str[start:end].decode('utf-8')
00526 else:
00527 self.header.frame_id = str[start:end]
00528 _x = self
00529 start = end
00530 end += 12
00531 (_x.pc_capture.header.seq, _x.pc_capture.header.stamp.secs, _x.pc_capture.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00532 start = end
00533 end += 4
00534 (length,) = _struct_I.unpack(str[start:end])
00535 start = end
00536 end += length
00537 if python3:
00538 self.pc_capture.header.frame_id = str[start:end].decode('utf-8')
00539 else:
00540 self.pc_capture.header.frame_id = str[start:end]
00541 _x = self
00542 start = end
00543 end += 8
00544 (_x.pc_capture.height, _x.pc_capture.width,) = _struct_2I.unpack(str[start:end])
00545 start = end
00546 end += 4
00547 (length,) = _struct_I.unpack(str[start:end])
00548 self.pc_capture.fields = []
00549 for i in range(0, length):
00550 val1 = sensor_msgs.msg.PointField()
00551 start = end
00552 end += 4
00553 (length,) = _struct_I.unpack(str[start:end])
00554 start = end
00555 end += length
00556 if python3:
00557 val1.name = str[start:end].decode('utf-8')
00558 else:
00559 val1.name = str[start:end]
00560 _x = val1
00561 start = end
00562 end += 9
00563 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00564 self.pc_capture.fields.append(val1)
00565 _x = self
00566 start = end
00567 end += 9
00568 (_x.pc_capture.is_bigendian, _x.pc_capture.point_step, _x.pc_capture.row_step,) = _struct_B2I.unpack(str[start:end])
00569 self.pc_capture.is_bigendian = bool(self.pc_capture.is_bigendian)
00570 start = end
00571 end += 4
00572 (length,) = _struct_I.unpack(str[start:end])
00573 start = end
00574 end += length
00575 if python3:
00576 self.pc_capture.data = str[start:end].decode('utf-8')
00577 else:
00578 self.pc_capture.data = str[start:end]
00579 start = end
00580 end += 1
00581 (self.pc_capture.is_dense,) = _struct_B.unpack(str[start:end])
00582 self.pc_capture.is_dense = bool(self.pc_capture.is_dense)
00583 start = end
00584 end += 4
00585 (length,) = _struct_I.unpack(str[start:end])
00586 self.frame_names = []
00587 for i in range(0, length):
00588 start = end
00589 end += 4
00590 (length,) = _struct_I.unpack(str[start:end])
00591 start = end
00592 end += length
00593 if python3:
00594 val1 = str[start:end].decode('utf-8')
00595 else:
00596 val1 = str[start:end]
00597 self.frame_names.append(val1)
00598 start = end
00599 end += 4
00600 (length,) = _struct_I.unpack(str[start:end])
00601 self.saved_frames = []
00602 for i in range(0, length):
00603 val1 = geometry_msgs.msg.PoseStamped()
00604 _v16 = val1.header
00605 start = end
00606 end += 4
00607 (_v16.seq,) = _struct_I.unpack(str[start:end])
00608 _v17 = _v16.stamp
00609 _x = _v17
00610 start = end
00611 end += 8
00612 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00613 start = end
00614 end += 4
00615 (length,) = _struct_I.unpack(str[start:end])
00616 start = end
00617 end += length
00618 if python3:
00619 _v16.frame_id = str[start:end].decode('utf-8')
00620 else:
00621 _v16.frame_id = str[start:end]
00622 _v18 = val1.pose
00623 _v19 = _v18.position
00624 _x = _v19
00625 start = end
00626 end += 24
00627 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00628 _v20 = _v18.orientation
00629 _x = _v20
00630 start = end
00631 end += 32
00632 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00633 self.saved_frames.append(val1)
00634 _x = self
00635 start = end
00636 end += 12
00637 (_x.pc_frame.header.seq, _x.pc_frame.header.stamp.secs, _x.pc_frame.header.stamp.nsecs,) = _struct_3I.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 if python3:
00644 self.pc_frame.header.frame_id = str[start:end].decode('utf-8')
00645 else:
00646 self.pc_frame.header.frame_id = str[start:end]
00647 _x = self
00648 start = end
00649 end += 56
00650 (_x.pc_frame.pose.position.x, _x.pc_frame.pose.position.y, _x.pc_frame.pose.position.z, _x.pc_frame.pose.orientation.x, _x.pc_frame.pose.orientation.y, _x.pc_frame.pose.orientation.z, _x.pc_frame.pose.orientation.w,) = _struct_7d.unpack(str[start:end])
00651 return self
00652 except struct.error as e:
00653 raise genpy.DeserializationError(e)
00654
00655 _struct_I = genpy.struct_I
00656 _struct_IBI = struct.Struct("<IBI")
00657 _struct_B = struct.Struct("<B")
00658 _struct_3I = struct.Struct("<3I")
00659 _struct_7d = struct.Struct("<7d")
00660 _struct_B2I = struct.Struct("<B2I")
00661 _struct_4d = struct.Struct("<4d")
00662 _struct_2I = struct.Struct("<2I")
00663 _struct_3d = struct.Struct("<3d")