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