00001 """autogenerated by genmsg_py from ObjectSegmentationGuiGoal.msg. Do not edit."""
00002 import roslib.message
00003 import struct
00004
00005 import stereo_msgs.msg
00006 import std_msgs.msg
00007 import sensor_msgs.msg
00008
00009 class ObjectSegmentationGuiGoal(roslib.message.Message):
00010 _md5sum = "e1d5b6113ada0dd63b3fd30b2ac9f913"
00011 _type = "object_segmentation_gui/ObjectSegmentationGuiGoal"
00012 _has_header = False
00013 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00014 sensor_msgs/Image image
00015 sensor_msgs/CameraInfo camera_info
00016 sensor_msgs/Image wide_field
00017 sensor_msgs/CameraInfo wide_camera_info
00018
00019 sensor_msgs/PointCloud2 point_cloud
00020 stereo_msgs/DisparityImage disparity_image
00021
00022
00023 ================================================================================
00024 MSG: sensor_msgs/Image
00025 # This message contains an uncompressed image
00026 # (0, 0) is at top-left corner of image
00027 #
00028
00029 Header header # Header timestamp should be acquisition time of image
00030 # Header frame_id should be optical frame of camera
00031 # origin of frame should be optical center of cameara
00032 # +x should point to the right in the image
00033 # +y should point down in the image
00034 # +z should point into to plane of the image
00035 # If the frame_id here and the frame_id of the CameraInfo
00036 # message associated with the image conflict
00037 # the behavior is undefined
00038
00039 uint32 height # image height, that is, number of rows
00040 uint32 width # image width, that is, number of columns
00041
00042 # The legal values for encoding are in file src/image_encodings.cpp
00043 # If you want to standardize a new string format, join
00044 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.
00045
00046 string encoding # Encoding of pixels -- channel meaning, ordering, size
00047 # taken from the list of strings in src/image_encodings.cpp
00048
00049 uint8 is_bigendian # is this data bigendian?
00050 uint32 step # Full row length in bytes
00051 uint8[] data # actual matrix data, size is (step * rows)
00052
00053 ================================================================================
00054 MSG: std_msgs/Header
00055 # Standard metadata for higher-level stamped data types.
00056 # This is generally used to communicate timestamped data
00057 # in a particular coordinate frame.
00058 #
00059 # sequence ID: consecutively increasing ID
00060 uint32 seq
00061 #Two-integer timestamp that is expressed as:
00062 # * stamp.secs: seconds (stamp_secs) since epoch
00063 # * stamp.nsecs: nanoseconds since stamp_secs
00064 # time-handling sugar is provided by the client library
00065 time stamp
00066 #Frame this data is associated with
00067 # 0: no frame
00068 # 1: global frame
00069 string frame_id
00070
00071 ================================================================================
00072 MSG: sensor_msgs/CameraInfo
00073 # This message defines meta information for a camera. It should be in a
00074 # camera namespace on topic "camera_info" and accompanied by up to five
00075 # image topics named:
00076 #
00077 # image_raw - raw data from the camera driver, possibly Bayer encoded
00078 # image - monochrome, distorted
00079 # image_color - color, distorted
00080 # image_rect - monochrome, rectified
00081 # image_rect_color - color, rectified
00082 #
00083 # The image_pipeline contains packages (image_proc, stereo_image_proc)
00084 # for producing the four processed image topics from image_raw and
00085 # camera_info. The meaning of the camera parameters are described in
00086 # detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.
00087 #
00088 # The image_geometry package provides a user-friendly interface to
00089 # common operations using this meta information. If you want to, e.g.,
00090 # project a 3d point into image coordinates, we strongly recommend
00091 # using image_geometry.
00092 #
00093 # If the camera is uncalibrated, the matrices D, K, R, P should be left
00094 # zeroed out. In particular, clients may assume that K[0] == 0.0
00095 # indicates an uncalibrated camera.
00096
00097 #######################################################################
00098 # Image acquisition info #
00099 #######################################################################
00100
00101 # Time of image acquisition, camera coordinate frame ID
00102 Header header # Header timestamp should be acquisition time of image
00103 # Header frame_id should be optical frame of camera
00104 # origin of frame should be optical center of camera
00105 # +x should point to the right in the image
00106 # +y should point down in the image
00107 # +z should point into the plane of the image
00108
00109
00110 #######################################################################
00111 # Calibration Parameters #
00112 #######################################################################
00113 # These are fixed during camera calibration. Their values will be the #
00114 # same in all messages until the camera is recalibrated. Note that #
00115 # self-calibrating systems may "recalibrate" frequently. #
00116 # #
00117 # The internal parameters can be used to warp a raw (distorted) image #
00118 # to: #
00119 # 1. An undistorted image (requires D and K) #
00120 # 2. A rectified image (requires D, K, R) #
00121 # The projection matrix P projects 3D points into the rectified image.#
00122 #######################################################################
00123
00124 # The image dimensions with which the camera was calibrated. Normally
00125 # this will be the full camera resolution in pixels.
00126 uint32 height
00127 uint32 width
00128
00129 # The distortion model used. Supported models are listed in
00130 # sensor_msgs/distortion_models.h. For most cameras, "plumb_bob" - a
00131 # simple model of radial and tangential distortion - is sufficent.
00132 string distortion_model
00133
00134 # The distortion parameters, size depending on the distortion model.
00135 # For "plumb_bob", the 5 parameters are: (k1, k2, t1, t2, k3).
00136 float64[] D
00137
00138 # Intrinsic camera matrix for the raw (distorted) images.
00139 # [fx 0 cx]
00140 # K = [ 0 fy cy]
00141 # [ 0 0 1]
00142 # Projects 3D points in the camera coordinate frame to 2D pixel
00143 # coordinates using the focal lengths (fx, fy) and principal point
00144 # (cx, cy).
00145 float64[9] K # 3x3 row-major matrix
00146
00147 # Rectification matrix (stereo cameras only)
00148 # A rotation matrix aligning the camera coordinate system to the ideal
00149 # stereo image plane so that epipolar lines in both stereo images are
00150 # parallel.
00151 float64[9] R # 3x3 row-major matrix
00152
00153 # Projection/camera matrix
00154 # [fx' 0 cx' Tx]
00155 # P = [ 0 fy' cy' Ty]
00156 # [ 0 0 1 0]
00157 # By convention, this matrix specifies the intrinsic (camera) matrix
00158 # of the processed (rectified) image. That is, the left 3x3 portion
00159 # is the normal camera intrinsic matrix for the rectified image.
00160 # It projects 3D points in the camera coordinate frame to 2D pixel
00161 # coordinates using the focal lengths (fx', fy') and principal point
00162 # (cx', cy') - these may differ from the values in K.
00163 # For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will
00164 # also have R = the identity and P[1:3,1:3] = K.
00165 # For a stereo pair, the fourth column [Tx Ty 0]' is related to the
00166 # position of the optical center of the second camera in the first
00167 # camera's frame. We assume Tz = 0 so both cameras are in the same
00168 # stereo image plane. The first camera always has Tx = Ty = 0. For
00169 # the right (second) camera of a horizontal stereo pair, Ty = 0 and
00170 # Tx = -fx' * B, where B is the baseline between the cameras.
00171 # Given a 3D point [X Y Z]', the projection (x, y) of the point onto
00172 # the rectified image is given by:
00173 # [u v w]' = P * [X Y Z 1]'
00174 # x = u / w
00175 # y = v / w
00176 # This holds for both images of a stereo pair.
00177 float64[12] P # 3x4 row-major matrix
00178
00179
00180 #######################################################################
00181 # Operational Parameters #
00182 #######################################################################
00183 # These define the image region actually captured by the camera #
00184 # driver. Although they affect the geometry of the output image, they #
00185 # may be changed freely without recalibrating the camera. #
00186 #######################################################################
00187
00188 # Binning refers here to any camera setting which combines rectangular
00189 # neighborhoods of pixels into larger "super-pixels." It reduces the
00190 # resolution of the output image to
00191 # (width / binning_x) x (height / binning_y).
00192 # The default values binning_x = binning_y = 0 is considered the same
00193 # as binning_x = binning_y = 1 (no subsampling).
00194 uint32 binning_x
00195 uint32 binning_y
00196
00197 # Region of interest (subwindow of full camera resolution), given in
00198 # full resolution (unbinned) image coordinates. A particular ROI
00199 # always denotes the same window of pixels on the camera sensor,
00200 # regardless of binning settings.
00201 # The default setting of roi (all values 0) is considered the same as
00202 # full resolution (roi.width = width, roi.height = height).
00203 RegionOfInterest roi
00204
00205 ================================================================================
00206 MSG: sensor_msgs/RegionOfInterest
00207 # This message is used to specify a region of interest within an image.
00208 #
00209 # When used to specify the ROI setting of the camera when the image was
00210 # taken, the height and width fields should either match the height and
00211 # width fields for the associated image; or height = width = 0
00212 # indicates that the full resolution image was captured.
00213
00214 uint32 x_offset # Leftmost pixel of the ROI
00215 # (0 if the ROI includes the left edge of the image)
00216 uint32 y_offset # Topmost pixel of the ROI
00217 # (0 if the ROI includes the top edge of the image)
00218 uint32 height # Height of ROI
00219 uint32 width # Width of ROI
00220
00221 # True if a distinct rectified ROI should be calculated from the "raw"
00222 # ROI in this message. Typically this should be False if the full image
00223 # is captured (ROI not used), and True if a subwindow is captured (ROI
00224 # used).
00225 bool do_rectify
00226
00227 ================================================================================
00228 MSG: sensor_msgs/PointCloud2
00229 # This message holds a collection of N-dimensional points, which may
00230 # contain additional information such as normals, intensity, etc. The
00231 # point data is stored as a binary blob, its layout described by the
00232 # contents of the "fields" array.
00233
00234 # The point cloud data may be organized 2d (image-like) or 1d
00235 # (unordered). Point clouds organized as 2d images may be produced by
00236 # camera depth sensors such as stereo or time-of-flight.
00237
00238 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00239 # points).
00240 Header header
00241
00242 # 2D structure of the point cloud. If the cloud is unordered, height is
00243 # 1 and width is the length of the point cloud.
00244 uint32 height
00245 uint32 width
00246
00247 # Describes the channels and their layout in the binary data blob.
00248 PointField[] fields
00249
00250 bool is_bigendian # Is this data bigendian?
00251 uint32 point_step # Length of a point in bytes
00252 uint32 row_step # Length of a row in bytes
00253 uint8[] data # Actual point data, size is (row_step*height)
00254
00255 bool is_dense # True if there are no invalid points
00256
00257 ================================================================================
00258 MSG: sensor_msgs/PointField
00259 # This message holds the description of one point entry in the
00260 # PointCloud2 message format.
00261 uint8 INT8 = 1
00262 uint8 UINT8 = 2
00263 uint8 INT16 = 3
00264 uint8 UINT16 = 4
00265 uint8 INT32 = 5
00266 uint8 UINT32 = 6
00267 uint8 FLOAT32 = 7
00268 uint8 FLOAT64 = 8
00269
00270 string name # Name of field
00271 uint32 offset # Offset from start of point struct
00272 uint8 datatype # Datatype enumeration, see above
00273 uint32 count # How many elements in the field
00274
00275 ================================================================================
00276 MSG: stereo_msgs/DisparityImage
00277 # Separate header for compatibility with current TimeSynchronizer.
00278 # Likely to be removed in a later release, use image.header instead.
00279 Header header
00280
00281 # Floating point disparity image. The disparities are pre-adjusted for any
00282 # x-offset between the principal points of the two cameras (in the case
00283 # that they are verged). That is: d = x_l - x_r - (cx_l - cx_r)
00284 sensor_msgs/Image image
00285
00286 # Stereo geometry. For disparity d, the depth from the camera is Z = fT/d.
00287 float32 f # Focal length, pixels
00288 float32 T # Baseline, world units
00289
00290 # Subwindow of (potentially) valid disparity values.
00291 sensor_msgs/RegionOfInterest valid_window
00292
00293 # The range of disparities searched.
00294 # In the disparity image, any disparity less than min_disparity is invalid.
00295 # The disparity search range defines the horopter, or 3D volume that the
00296 # stereo algorithm can "see". Points with Z outside of:
00297 # Z_min = fT / max_disparity
00298 # Z_max = fT / min_disparity
00299 # could not be found.
00300 float32 min_disparity
00301 float32 max_disparity
00302
00303 # Smallest allowed disparity increment. The smallest achievable depth range
00304 # resolution is delta_Z = (Z^2/fT)*delta_d.
00305 float32 delta_d
00306
00307 """
00308 __slots__ = ['image','camera_info','wide_field','wide_camera_info','point_cloud','disparity_image']
00309 _slot_types = ['sensor_msgs/Image','sensor_msgs/CameraInfo','sensor_msgs/Image','sensor_msgs/CameraInfo','sensor_msgs/PointCloud2','stereo_msgs/DisparityImage']
00310
00311 def __init__(self, *args, **kwds):
00312 """
00313 Constructor. Any message fields that are implicitly/explicitly
00314 set to None will be assigned a default value. The recommend
00315 use is keyword arguments as this is more robust to future message
00316 changes. You cannot mix in-order arguments and keyword arguments.
00317
00318 The available fields are:
00319 image,camera_info,wide_field,wide_camera_info,point_cloud,disparity_image
00320
00321 @param args: complete set of field values, in .msg order
00322 @param kwds: use keyword arguments corresponding to message field names
00323 to set specific fields.
00324 """
00325 if args or kwds:
00326 super(ObjectSegmentationGuiGoal, self).__init__(*args, **kwds)
00327
00328 if self.image is None:
00329 self.image = sensor_msgs.msg.Image()
00330 if self.camera_info is None:
00331 self.camera_info = sensor_msgs.msg.CameraInfo()
00332 if self.wide_field is None:
00333 self.wide_field = sensor_msgs.msg.Image()
00334 if self.wide_camera_info is None:
00335 self.wide_camera_info = sensor_msgs.msg.CameraInfo()
00336 if self.point_cloud is None:
00337 self.point_cloud = sensor_msgs.msg.PointCloud2()
00338 if self.disparity_image is None:
00339 self.disparity_image = stereo_msgs.msg.DisparityImage()
00340 else:
00341 self.image = sensor_msgs.msg.Image()
00342 self.camera_info = sensor_msgs.msg.CameraInfo()
00343 self.wide_field = sensor_msgs.msg.Image()
00344 self.wide_camera_info = sensor_msgs.msg.CameraInfo()
00345 self.point_cloud = sensor_msgs.msg.PointCloud2()
00346 self.disparity_image = stereo_msgs.msg.DisparityImage()
00347
00348 def _get_types(self):
00349 """
00350 internal API method
00351 """
00352 return self._slot_types
00353
00354 def serialize(self, buff):
00355 """
00356 serialize message into buffer
00357 @param buff: buffer
00358 @type buff: StringIO
00359 """
00360 try:
00361 _x = self
00362 buff.write(_struct_3I.pack(_x.image.header.seq, _x.image.header.stamp.secs, _x.image.header.stamp.nsecs))
00363 _x = self.image.header.frame_id
00364 length = len(_x)
00365 buff.write(struct.pack('<I%ss'%length, length, _x))
00366 _x = self
00367 buff.write(_struct_2I.pack(_x.image.height, _x.image.width))
00368 _x = self.image.encoding
00369 length = len(_x)
00370 buff.write(struct.pack('<I%ss'%length, length, _x))
00371 _x = self
00372 buff.write(_struct_BI.pack(_x.image.is_bigendian, _x.image.step))
00373 _x = self.image.data
00374 length = len(_x)
00375
00376 if type(_x) in [list, tuple]:
00377 buff.write(struct.pack('<I%sB'%length, length, *_x))
00378 else:
00379 buff.write(struct.pack('<I%ss'%length, length, _x))
00380 _x = self
00381 buff.write(_struct_3I.pack(_x.camera_info.header.seq, _x.camera_info.header.stamp.secs, _x.camera_info.header.stamp.nsecs))
00382 _x = self.camera_info.header.frame_id
00383 length = len(_x)
00384 buff.write(struct.pack('<I%ss'%length, length, _x))
00385 _x = self
00386 buff.write(_struct_2I.pack(_x.camera_info.height, _x.camera_info.width))
00387 _x = self.camera_info.distortion_model
00388 length = len(_x)
00389 buff.write(struct.pack('<I%ss'%length, length, _x))
00390 length = len(self.camera_info.D)
00391 buff.write(_struct_I.pack(length))
00392 pattern = '<%sd'%length
00393 buff.write(struct.pack(pattern, *self.camera_info.D))
00394 buff.write(_struct_9d.pack(*self.camera_info.K))
00395 buff.write(_struct_9d.pack(*self.camera_info.R))
00396 buff.write(_struct_12d.pack(*self.camera_info.P))
00397 _x = self
00398 buff.write(_struct_6IB3I.pack(_x.camera_info.binning_x, _x.camera_info.binning_y, _x.camera_info.roi.x_offset, _x.camera_info.roi.y_offset, _x.camera_info.roi.height, _x.camera_info.roi.width, _x.camera_info.roi.do_rectify, _x.wide_field.header.seq, _x.wide_field.header.stamp.secs, _x.wide_field.header.stamp.nsecs))
00399 _x = self.wide_field.header.frame_id
00400 length = len(_x)
00401 buff.write(struct.pack('<I%ss'%length, length, _x))
00402 _x = self
00403 buff.write(_struct_2I.pack(_x.wide_field.height, _x.wide_field.width))
00404 _x = self.wide_field.encoding
00405 length = len(_x)
00406 buff.write(struct.pack('<I%ss'%length, length, _x))
00407 _x = self
00408 buff.write(_struct_BI.pack(_x.wide_field.is_bigendian, _x.wide_field.step))
00409 _x = self.wide_field.data
00410 length = len(_x)
00411
00412 if type(_x) in [list, tuple]:
00413 buff.write(struct.pack('<I%sB'%length, length, *_x))
00414 else:
00415 buff.write(struct.pack('<I%ss'%length, length, _x))
00416 _x = self
00417 buff.write(_struct_3I.pack(_x.wide_camera_info.header.seq, _x.wide_camera_info.header.stamp.secs, _x.wide_camera_info.header.stamp.nsecs))
00418 _x = self.wide_camera_info.header.frame_id
00419 length = len(_x)
00420 buff.write(struct.pack('<I%ss'%length, length, _x))
00421 _x = self
00422 buff.write(_struct_2I.pack(_x.wide_camera_info.height, _x.wide_camera_info.width))
00423 _x = self.wide_camera_info.distortion_model
00424 length = len(_x)
00425 buff.write(struct.pack('<I%ss'%length, length, _x))
00426 length = len(self.wide_camera_info.D)
00427 buff.write(_struct_I.pack(length))
00428 pattern = '<%sd'%length
00429 buff.write(struct.pack(pattern, *self.wide_camera_info.D))
00430 buff.write(_struct_9d.pack(*self.wide_camera_info.K))
00431 buff.write(_struct_9d.pack(*self.wide_camera_info.R))
00432 buff.write(_struct_12d.pack(*self.wide_camera_info.P))
00433 _x = self
00434 buff.write(_struct_6IB3I.pack(_x.wide_camera_info.binning_x, _x.wide_camera_info.binning_y, _x.wide_camera_info.roi.x_offset, _x.wide_camera_info.roi.y_offset, _x.wide_camera_info.roi.height, _x.wide_camera_info.roi.width, _x.wide_camera_info.roi.do_rectify, _x.point_cloud.header.seq, _x.point_cloud.header.stamp.secs, _x.point_cloud.header.stamp.nsecs))
00435 _x = self.point_cloud.header.frame_id
00436 length = len(_x)
00437 buff.write(struct.pack('<I%ss'%length, length, _x))
00438 _x = self
00439 buff.write(_struct_2I.pack(_x.point_cloud.height, _x.point_cloud.width))
00440 length = len(self.point_cloud.fields)
00441 buff.write(_struct_I.pack(length))
00442 for val1 in self.point_cloud.fields:
00443 _x = val1.name
00444 length = len(_x)
00445 buff.write(struct.pack('<I%ss'%length, length, _x))
00446 _x = val1
00447 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00448 _x = self
00449 buff.write(_struct_B2I.pack(_x.point_cloud.is_bigendian, _x.point_cloud.point_step, _x.point_cloud.row_step))
00450 _x = self.point_cloud.data
00451 length = len(_x)
00452
00453 if type(_x) in [list, tuple]:
00454 buff.write(struct.pack('<I%sB'%length, length, *_x))
00455 else:
00456 buff.write(struct.pack('<I%ss'%length, length, _x))
00457 _x = self
00458 buff.write(_struct_B3I.pack(_x.point_cloud.is_dense, _x.disparity_image.header.seq, _x.disparity_image.header.stamp.secs, _x.disparity_image.header.stamp.nsecs))
00459 _x = self.disparity_image.header.frame_id
00460 length = len(_x)
00461 buff.write(struct.pack('<I%ss'%length, length, _x))
00462 _x = self
00463 buff.write(_struct_3I.pack(_x.disparity_image.image.header.seq, _x.disparity_image.image.header.stamp.secs, _x.disparity_image.image.header.stamp.nsecs))
00464 _x = self.disparity_image.image.header.frame_id
00465 length = len(_x)
00466 buff.write(struct.pack('<I%ss'%length, length, _x))
00467 _x = self
00468 buff.write(_struct_2I.pack(_x.disparity_image.image.height, _x.disparity_image.image.width))
00469 _x = self.disparity_image.image.encoding
00470 length = len(_x)
00471 buff.write(struct.pack('<I%ss'%length, length, _x))
00472 _x = self
00473 buff.write(_struct_BI.pack(_x.disparity_image.image.is_bigendian, _x.disparity_image.image.step))
00474 _x = self.disparity_image.image.data
00475 length = len(_x)
00476
00477 if type(_x) in [list, tuple]:
00478 buff.write(struct.pack('<I%sB'%length, length, *_x))
00479 else:
00480 buff.write(struct.pack('<I%ss'%length, length, _x))
00481 _x = self
00482 buff.write(_struct_2f4IB3f.pack(_x.disparity_image.f, _x.disparity_image.T, _x.disparity_image.valid_window.x_offset, _x.disparity_image.valid_window.y_offset, _x.disparity_image.valid_window.height, _x.disparity_image.valid_window.width, _x.disparity_image.valid_window.do_rectify, _x.disparity_image.min_disparity, _x.disparity_image.max_disparity, _x.disparity_image.delta_d))
00483 except struct.error, se: self._check_types(se)
00484 except TypeError, te: self._check_types(te)
00485
00486 def deserialize(self, str):
00487 """
00488 unpack serialized message in str into this message instance
00489 @param str: byte array of serialized message
00490 @type str: str
00491 """
00492 try:
00493 if self.image is None:
00494 self.image = sensor_msgs.msg.Image()
00495 if self.camera_info is None:
00496 self.camera_info = sensor_msgs.msg.CameraInfo()
00497 if self.wide_field is None:
00498 self.wide_field = sensor_msgs.msg.Image()
00499 if self.wide_camera_info is None:
00500 self.wide_camera_info = sensor_msgs.msg.CameraInfo()
00501 if self.point_cloud is None:
00502 self.point_cloud = sensor_msgs.msg.PointCloud2()
00503 if self.disparity_image is None:
00504 self.disparity_image = stereo_msgs.msg.DisparityImage()
00505 end = 0
00506 _x = self
00507 start = end
00508 end += 12
00509 (_x.image.header.seq, _x.image.header.stamp.secs, _x.image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00510 start = end
00511 end += 4
00512 (length,) = _struct_I.unpack(str[start:end])
00513 start = end
00514 end += length
00515 self.image.header.frame_id = str[start:end]
00516 _x = self
00517 start = end
00518 end += 8
00519 (_x.image.height, _x.image.width,) = _struct_2I.unpack(str[start:end])
00520 start = end
00521 end += 4
00522 (length,) = _struct_I.unpack(str[start:end])
00523 start = end
00524 end += length
00525 self.image.encoding = str[start:end]
00526 _x = self
00527 start = end
00528 end += 5
00529 (_x.image.is_bigendian, _x.image.step,) = _struct_BI.unpack(str[start:end])
00530 start = end
00531 end += 4
00532 (length,) = _struct_I.unpack(str[start:end])
00533 start = end
00534 end += length
00535 self.image.data = str[start:end]
00536 _x = self
00537 start = end
00538 end += 12
00539 (_x.camera_info.header.seq, _x.camera_info.header.stamp.secs, _x.camera_info.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00540 start = end
00541 end += 4
00542 (length,) = _struct_I.unpack(str[start:end])
00543 start = end
00544 end += length
00545 self.camera_info.header.frame_id = str[start:end]
00546 _x = self
00547 start = end
00548 end += 8
00549 (_x.camera_info.height, _x.camera_info.width,) = _struct_2I.unpack(str[start:end])
00550 start = end
00551 end += 4
00552 (length,) = _struct_I.unpack(str[start:end])
00553 start = end
00554 end += length
00555 self.camera_info.distortion_model = str[start:end]
00556 start = end
00557 end += 4
00558 (length,) = _struct_I.unpack(str[start:end])
00559 pattern = '<%sd'%length
00560 start = end
00561 end += struct.calcsize(pattern)
00562 self.camera_info.D = struct.unpack(pattern, str[start:end])
00563 start = end
00564 end += 72
00565 self.camera_info.K = _struct_9d.unpack(str[start:end])
00566 start = end
00567 end += 72
00568 self.camera_info.R = _struct_9d.unpack(str[start:end])
00569 start = end
00570 end += 96
00571 self.camera_info.P = _struct_12d.unpack(str[start:end])
00572 _x = self
00573 start = end
00574 end += 37
00575 (_x.camera_info.binning_x, _x.camera_info.binning_y, _x.camera_info.roi.x_offset, _x.camera_info.roi.y_offset, _x.camera_info.roi.height, _x.camera_info.roi.width, _x.camera_info.roi.do_rectify, _x.wide_field.header.seq, _x.wide_field.header.stamp.secs, _x.wide_field.header.stamp.nsecs,) = _struct_6IB3I.unpack(str[start:end])
00576 self.camera_info.roi.do_rectify = bool(self.camera_info.roi.do_rectify)
00577 start = end
00578 end += 4
00579 (length,) = _struct_I.unpack(str[start:end])
00580 start = end
00581 end += length
00582 self.wide_field.header.frame_id = str[start:end]
00583 _x = self
00584 start = end
00585 end += 8
00586 (_x.wide_field.height, _x.wide_field.width,) = _struct_2I.unpack(str[start:end])
00587 start = end
00588 end += 4
00589 (length,) = _struct_I.unpack(str[start:end])
00590 start = end
00591 end += length
00592 self.wide_field.encoding = str[start:end]
00593 _x = self
00594 start = end
00595 end += 5
00596 (_x.wide_field.is_bigendian, _x.wide_field.step,) = _struct_BI.unpack(str[start:end])
00597 start = end
00598 end += 4
00599 (length,) = _struct_I.unpack(str[start:end])
00600 start = end
00601 end += length
00602 self.wide_field.data = str[start:end]
00603 _x = self
00604 start = end
00605 end += 12
00606 (_x.wide_camera_info.header.seq, _x.wide_camera_info.header.stamp.secs, _x.wide_camera_info.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00607 start = end
00608 end += 4
00609 (length,) = _struct_I.unpack(str[start:end])
00610 start = end
00611 end += length
00612 self.wide_camera_info.header.frame_id = str[start:end]
00613 _x = self
00614 start = end
00615 end += 8
00616 (_x.wide_camera_info.height, _x.wide_camera_info.width,) = _struct_2I.unpack(str[start:end])
00617 start = end
00618 end += 4
00619 (length,) = _struct_I.unpack(str[start:end])
00620 start = end
00621 end += length
00622 self.wide_camera_info.distortion_model = str[start:end]
00623 start = end
00624 end += 4
00625 (length,) = _struct_I.unpack(str[start:end])
00626 pattern = '<%sd'%length
00627 start = end
00628 end += struct.calcsize(pattern)
00629 self.wide_camera_info.D = struct.unpack(pattern, str[start:end])
00630 start = end
00631 end += 72
00632 self.wide_camera_info.K = _struct_9d.unpack(str[start:end])
00633 start = end
00634 end += 72
00635 self.wide_camera_info.R = _struct_9d.unpack(str[start:end])
00636 start = end
00637 end += 96
00638 self.wide_camera_info.P = _struct_12d.unpack(str[start:end])
00639 _x = self
00640 start = end
00641 end += 37
00642 (_x.wide_camera_info.binning_x, _x.wide_camera_info.binning_y, _x.wide_camera_info.roi.x_offset, _x.wide_camera_info.roi.y_offset, _x.wide_camera_info.roi.height, _x.wide_camera_info.roi.width, _x.wide_camera_info.roi.do_rectify, _x.point_cloud.header.seq, _x.point_cloud.header.stamp.secs, _x.point_cloud.header.stamp.nsecs,) = _struct_6IB3I.unpack(str[start:end])
00643 self.wide_camera_info.roi.do_rectify = bool(self.wide_camera_info.roi.do_rectify)
00644 start = end
00645 end += 4
00646 (length,) = _struct_I.unpack(str[start:end])
00647 start = end
00648 end += length
00649 self.point_cloud.header.frame_id = str[start:end]
00650 _x = self
00651 start = end
00652 end += 8
00653 (_x.point_cloud.height, _x.point_cloud.width,) = _struct_2I.unpack(str[start:end])
00654 start = end
00655 end += 4
00656 (length,) = _struct_I.unpack(str[start:end])
00657 self.point_cloud.fields = []
00658 for i in xrange(0, length):
00659 val1 = sensor_msgs.msg.PointField()
00660 start = end
00661 end += 4
00662 (length,) = _struct_I.unpack(str[start:end])
00663 start = end
00664 end += length
00665 val1.name = str[start:end]
00666 _x = val1
00667 start = end
00668 end += 9
00669 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
00670 self.point_cloud.fields.append(val1)
00671 _x = self
00672 start = end
00673 end += 9
00674 (_x.point_cloud.is_bigendian, _x.point_cloud.point_step, _x.point_cloud.row_step,) = _struct_B2I.unpack(str[start:end])
00675 self.point_cloud.is_bigendian = bool(self.point_cloud.is_bigendian)
00676 start = end
00677 end += 4
00678 (length,) = _struct_I.unpack(str[start:end])
00679 start = end
00680 end += length
00681 self.point_cloud.data = str[start:end]
00682 _x = self
00683 start = end
00684 end += 13
00685 (_x.point_cloud.is_dense, _x.disparity_image.header.seq, _x.disparity_image.header.stamp.secs, _x.disparity_image.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00686 self.point_cloud.is_dense = bool(self.point_cloud.is_dense)
00687 start = end
00688 end += 4
00689 (length,) = _struct_I.unpack(str[start:end])
00690 start = end
00691 end += length
00692 self.disparity_image.header.frame_id = str[start:end]
00693 _x = self
00694 start = end
00695 end += 12
00696 (_x.disparity_image.image.header.seq, _x.disparity_image.image.header.stamp.secs, _x.disparity_image.image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00697 start = end
00698 end += 4
00699 (length,) = _struct_I.unpack(str[start:end])
00700 start = end
00701 end += length
00702 self.disparity_image.image.header.frame_id = str[start:end]
00703 _x = self
00704 start = end
00705 end += 8
00706 (_x.disparity_image.image.height, _x.disparity_image.image.width,) = _struct_2I.unpack(str[start:end])
00707 start = end
00708 end += 4
00709 (length,) = _struct_I.unpack(str[start:end])
00710 start = end
00711 end += length
00712 self.disparity_image.image.encoding = str[start:end]
00713 _x = self
00714 start = end
00715 end += 5
00716 (_x.disparity_image.image.is_bigendian, _x.disparity_image.image.step,) = _struct_BI.unpack(str[start:end])
00717 start = end
00718 end += 4
00719 (length,) = _struct_I.unpack(str[start:end])
00720 start = end
00721 end += length
00722 self.disparity_image.image.data = str[start:end]
00723 _x = self
00724 start = end
00725 end += 37
00726 (_x.disparity_image.f, _x.disparity_image.T, _x.disparity_image.valid_window.x_offset, _x.disparity_image.valid_window.y_offset, _x.disparity_image.valid_window.height, _x.disparity_image.valid_window.width, _x.disparity_image.valid_window.do_rectify, _x.disparity_image.min_disparity, _x.disparity_image.max_disparity, _x.disparity_image.delta_d,) = _struct_2f4IB3f.unpack(str[start:end])
00727 self.disparity_image.valid_window.do_rectify = bool(self.disparity_image.valid_window.do_rectify)
00728 return self
00729 except struct.error, e:
00730 raise roslib.message.DeserializationError(e)
00731
00732
00733 def serialize_numpy(self, buff, numpy):
00734 """
00735 serialize message with numpy array types into buffer
00736 @param buff: buffer
00737 @type buff: StringIO
00738 @param numpy: numpy python module
00739 @type numpy module
00740 """
00741 try:
00742 _x = self
00743 buff.write(_struct_3I.pack(_x.image.header.seq, _x.image.header.stamp.secs, _x.image.header.stamp.nsecs))
00744 _x = self.image.header.frame_id
00745 length = len(_x)
00746 buff.write(struct.pack('<I%ss'%length, length, _x))
00747 _x = self
00748 buff.write(_struct_2I.pack(_x.image.height, _x.image.width))
00749 _x = self.image.encoding
00750 length = len(_x)
00751 buff.write(struct.pack('<I%ss'%length, length, _x))
00752 _x = self
00753 buff.write(_struct_BI.pack(_x.image.is_bigendian, _x.image.step))
00754 _x = self.image.data
00755 length = len(_x)
00756
00757 if type(_x) in [list, tuple]:
00758 buff.write(struct.pack('<I%sB'%length, length, *_x))
00759 else:
00760 buff.write(struct.pack('<I%ss'%length, length, _x))
00761 _x = self
00762 buff.write(_struct_3I.pack(_x.camera_info.header.seq, _x.camera_info.header.stamp.secs, _x.camera_info.header.stamp.nsecs))
00763 _x = self.camera_info.header.frame_id
00764 length = len(_x)
00765 buff.write(struct.pack('<I%ss'%length, length, _x))
00766 _x = self
00767 buff.write(_struct_2I.pack(_x.camera_info.height, _x.camera_info.width))
00768 _x = self.camera_info.distortion_model
00769 length = len(_x)
00770 buff.write(struct.pack('<I%ss'%length, length, _x))
00771 length = len(self.camera_info.D)
00772 buff.write(_struct_I.pack(length))
00773 pattern = '<%sd'%length
00774 buff.write(self.camera_info.D.tostring())
00775 buff.write(self.camera_info.K.tostring())
00776 buff.write(self.camera_info.R.tostring())
00777 buff.write(self.camera_info.P.tostring())
00778 _x = self
00779 buff.write(_struct_6IB3I.pack(_x.camera_info.binning_x, _x.camera_info.binning_y, _x.camera_info.roi.x_offset, _x.camera_info.roi.y_offset, _x.camera_info.roi.height, _x.camera_info.roi.width, _x.camera_info.roi.do_rectify, _x.wide_field.header.seq, _x.wide_field.header.stamp.secs, _x.wide_field.header.stamp.nsecs))
00780 _x = self.wide_field.header.frame_id
00781 length = len(_x)
00782 buff.write(struct.pack('<I%ss'%length, length, _x))
00783 _x = self
00784 buff.write(_struct_2I.pack(_x.wide_field.height, _x.wide_field.width))
00785 _x = self.wide_field.encoding
00786 length = len(_x)
00787 buff.write(struct.pack('<I%ss'%length, length, _x))
00788 _x = self
00789 buff.write(_struct_BI.pack(_x.wide_field.is_bigendian, _x.wide_field.step))
00790 _x = self.wide_field.data
00791 length = len(_x)
00792
00793 if type(_x) in [list, tuple]:
00794 buff.write(struct.pack('<I%sB'%length, length, *_x))
00795 else:
00796 buff.write(struct.pack('<I%ss'%length, length, _x))
00797 _x = self
00798 buff.write(_struct_3I.pack(_x.wide_camera_info.header.seq, _x.wide_camera_info.header.stamp.secs, _x.wide_camera_info.header.stamp.nsecs))
00799 _x = self.wide_camera_info.header.frame_id
00800 length = len(_x)
00801 buff.write(struct.pack('<I%ss'%length, length, _x))
00802 _x = self
00803 buff.write(_struct_2I.pack(_x.wide_camera_info.height, _x.wide_camera_info.width))
00804 _x = self.wide_camera_info.distortion_model
00805 length = len(_x)
00806 buff.write(struct.pack('<I%ss'%length, length, _x))
00807 length = len(self.wide_camera_info.D)
00808 buff.write(_struct_I.pack(length))
00809 pattern = '<%sd'%length
00810 buff.write(self.wide_camera_info.D.tostring())
00811 buff.write(self.wide_camera_info.K.tostring())
00812 buff.write(self.wide_camera_info.R.tostring())
00813 buff.write(self.wide_camera_info.P.tostring())
00814 _x = self
00815 buff.write(_struct_6IB3I.pack(_x.wide_camera_info.binning_x, _x.wide_camera_info.binning_y, _x.wide_camera_info.roi.x_offset, _x.wide_camera_info.roi.y_offset, _x.wide_camera_info.roi.height, _x.wide_camera_info.roi.width, _x.wide_camera_info.roi.do_rectify, _x.point_cloud.header.seq, _x.point_cloud.header.stamp.secs, _x.point_cloud.header.stamp.nsecs))
00816 _x = self.point_cloud.header.frame_id
00817 length = len(_x)
00818 buff.write(struct.pack('<I%ss'%length, length, _x))
00819 _x = self
00820 buff.write(_struct_2I.pack(_x.point_cloud.height, _x.point_cloud.width))
00821 length = len(self.point_cloud.fields)
00822 buff.write(_struct_I.pack(length))
00823 for val1 in self.point_cloud.fields:
00824 _x = val1.name
00825 length = len(_x)
00826 buff.write(struct.pack('<I%ss'%length, length, _x))
00827 _x = val1
00828 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00829 _x = self
00830 buff.write(_struct_B2I.pack(_x.point_cloud.is_bigendian, _x.point_cloud.point_step, _x.point_cloud.row_step))
00831 _x = self.point_cloud.data
00832 length = len(_x)
00833
00834 if type(_x) in [list, tuple]:
00835 buff.write(struct.pack('<I%sB'%length, length, *_x))
00836 else:
00837 buff.write(struct.pack('<I%ss'%length, length, _x))
00838 _x = self
00839 buff.write(_struct_B3I.pack(_x.point_cloud.is_dense, _x.disparity_image.header.seq, _x.disparity_image.header.stamp.secs, _x.disparity_image.header.stamp.nsecs))
00840 _x = self.disparity_image.header.frame_id
00841 length = len(_x)
00842 buff.write(struct.pack('<I%ss'%length, length, _x))
00843 _x = self
00844 buff.write(_struct_3I.pack(_x.disparity_image.image.header.seq, _x.disparity_image.image.header.stamp.secs, _x.disparity_image.image.header.stamp.nsecs))
00845 _x = self.disparity_image.image.header.frame_id
00846 length = len(_x)
00847 buff.write(struct.pack('<I%ss'%length, length, _x))
00848 _x = self
00849 buff.write(_struct_2I.pack(_x.disparity_image.image.height, _x.disparity_image.image.width))
00850 _x = self.disparity_image.image.encoding
00851 length = len(_x)
00852 buff.write(struct.pack('<I%ss'%length, length, _x))
00853 _x = self
00854 buff.write(_struct_BI.pack(_x.disparity_image.image.is_bigendian, _x.disparity_image.image.step))
00855 _x = self.disparity_image.image.data
00856 length = len(_x)
00857
00858 if type(_x) in [list, tuple]:
00859 buff.write(struct.pack('<I%sB'%length, length, *_x))
00860 else:
00861 buff.write(struct.pack('<I%ss'%length, length, _x))
00862 _x = self
00863 buff.write(_struct_2f4IB3f.pack(_x.disparity_image.f, _x.disparity_image.T, _x.disparity_image.valid_window.x_offset, _x.disparity_image.valid_window.y_offset, _x.disparity_image.valid_window.height, _x.disparity_image.valid_window.width, _x.disparity_image.valid_window.do_rectify, _x.disparity_image.min_disparity, _x.disparity_image.max_disparity, _x.disparity_image.delta_d))
00864 except struct.error, se: self._check_types(se)
00865 except TypeError, te: self._check_types(te)
00866
00867 def deserialize_numpy(self, str, numpy):
00868 """
00869 unpack serialized message in str into this message instance using numpy for array types
00870 @param str: byte array of serialized message
00871 @type str: str
00872 @param numpy: numpy python module
00873 @type numpy: module
00874 """
00875 try:
00876 if self.image is None:
00877 self.image = sensor_msgs.msg.Image()
00878 if self.camera_info is None:
00879 self.camera_info = sensor_msgs.msg.CameraInfo()
00880 if self.wide_field is None:
00881 self.wide_field = sensor_msgs.msg.Image()
00882 if self.wide_camera_info is None:
00883 self.wide_camera_info = sensor_msgs.msg.CameraInfo()
00884 if self.point_cloud is None:
00885 self.point_cloud = sensor_msgs.msg.PointCloud2()
00886 if self.disparity_image is None:
00887 self.disparity_image = stereo_msgs.msg.DisparityImage()
00888 end = 0
00889 _x = self
00890 start = end
00891 end += 12
00892 (_x.image.header.seq, _x.image.header.stamp.secs, _x.image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00893 start = end
00894 end += 4
00895 (length,) = _struct_I.unpack(str[start:end])
00896 start = end
00897 end += length
00898 self.image.header.frame_id = str[start:end]
00899 _x = self
00900 start = end
00901 end += 8
00902 (_x.image.height, _x.image.width,) = _struct_2I.unpack(str[start:end])
00903 start = end
00904 end += 4
00905 (length,) = _struct_I.unpack(str[start:end])
00906 start = end
00907 end += length
00908 self.image.encoding = str[start:end]
00909 _x = self
00910 start = end
00911 end += 5
00912 (_x.image.is_bigendian, _x.image.step,) = _struct_BI.unpack(str[start:end])
00913 start = end
00914 end += 4
00915 (length,) = _struct_I.unpack(str[start:end])
00916 start = end
00917 end += length
00918 self.image.data = str[start:end]
00919 _x = self
00920 start = end
00921 end += 12
00922 (_x.camera_info.header.seq, _x.camera_info.header.stamp.secs, _x.camera_info.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00923 start = end
00924 end += 4
00925 (length,) = _struct_I.unpack(str[start:end])
00926 start = end
00927 end += length
00928 self.camera_info.header.frame_id = str[start:end]
00929 _x = self
00930 start = end
00931 end += 8
00932 (_x.camera_info.height, _x.camera_info.width,) = _struct_2I.unpack(str[start:end])
00933 start = end
00934 end += 4
00935 (length,) = _struct_I.unpack(str[start:end])
00936 start = end
00937 end += length
00938 self.camera_info.distortion_model = str[start:end]
00939 start = end
00940 end += 4
00941 (length,) = _struct_I.unpack(str[start:end])
00942 pattern = '<%sd'%length
00943 start = end
00944 end += struct.calcsize(pattern)
00945 self.camera_info.D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
00946 start = end
00947 end += 72
00948 self.camera_info.K = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
00949 start = end
00950 end += 72
00951 self.camera_info.R = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
00952 start = end
00953 end += 96
00954 self.camera_info.P = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=12)
00955 _x = self
00956 start = end
00957 end += 37
00958 (_x.camera_info.binning_x, _x.camera_info.binning_y, _x.camera_info.roi.x_offset, _x.camera_info.roi.y_offset, _x.camera_info.roi.height, _x.camera_info.roi.width, _x.camera_info.roi.do_rectify, _x.wide_field.header.seq, _x.wide_field.header.stamp.secs, _x.wide_field.header.stamp.nsecs,) = _struct_6IB3I.unpack(str[start:end])
00959 self.camera_info.roi.do_rectify = bool(self.camera_info.roi.do_rectify)
00960 start = end
00961 end += 4
00962 (length,) = _struct_I.unpack(str[start:end])
00963 start = end
00964 end += length
00965 self.wide_field.header.frame_id = str[start:end]
00966 _x = self
00967 start = end
00968 end += 8
00969 (_x.wide_field.height, _x.wide_field.width,) = _struct_2I.unpack(str[start:end])
00970 start = end
00971 end += 4
00972 (length,) = _struct_I.unpack(str[start:end])
00973 start = end
00974 end += length
00975 self.wide_field.encoding = str[start:end]
00976 _x = self
00977 start = end
00978 end += 5
00979 (_x.wide_field.is_bigendian, _x.wide_field.step,) = _struct_BI.unpack(str[start:end])
00980 start = end
00981 end += 4
00982 (length,) = _struct_I.unpack(str[start:end])
00983 start = end
00984 end += length
00985 self.wide_field.data = str[start:end]
00986 _x = self
00987 start = end
00988 end += 12
00989 (_x.wide_camera_info.header.seq, _x.wide_camera_info.header.stamp.secs, _x.wide_camera_info.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00990 start = end
00991 end += 4
00992 (length,) = _struct_I.unpack(str[start:end])
00993 start = end
00994 end += length
00995 self.wide_camera_info.header.frame_id = str[start:end]
00996 _x = self
00997 start = end
00998 end += 8
00999 (_x.wide_camera_info.height, _x.wide_camera_info.width,) = _struct_2I.unpack(str[start:end])
01000 start = end
01001 end += 4
01002 (length,) = _struct_I.unpack(str[start:end])
01003 start = end
01004 end += length
01005 self.wide_camera_info.distortion_model = str[start:end]
01006 start = end
01007 end += 4
01008 (length,) = _struct_I.unpack(str[start:end])
01009 pattern = '<%sd'%length
01010 start = end
01011 end += struct.calcsize(pattern)
01012 self.wide_camera_info.D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01013 start = end
01014 end += 72
01015 self.wide_camera_info.K = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
01016 start = end
01017 end += 72
01018 self.wide_camera_info.R = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
01019 start = end
01020 end += 96
01021 self.wide_camera_info.P = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=12)
01022 _x = self
01023 start = end
01024 end += 37
01025 (_x.wide_camera_info.binning_x, _x.wide_camera_info.binning_y, _x.wide_camera_info.roi.x_offset, _x.wide_camera_info.roi.y_offset, _x.wide_camera_info.roi.height, _x.wide_camera_info.roi.width, _x.wide_camera_info.roi.do_rectify, _x.point_cloud.header.seq, _x.point_cloud.header.stamp.secs, _x.point_cloud.header.stamp.nsecs,) = _struct_6IB3I.unpack(str[start:end])
01026 self.wide_camera_info.roi.do_rectify = bool(self.wide_camera_info.roi.do_rectify)
01027 start = end
01028 end += 4
01029 (length,) = _struct_I.unpack(str[start:end])
01030 start = end
01031 end += length
01032 self.point_cloud.header.frame_id = str[start:end]
01033 _x = self
01034 start = end
01035 end += 8
01036 (_x.point_cloud.height, _x.point_cloud.width,) = _struct_2I.unpack(str[start:end])
01037 start = end
01038 end += 4
01039 (length,) = _struct_I.unpack(str[start:end])
01040 self.point_cloud.fields = []
01041 for i in xrange(0, length):
01042 val1 = sensor_msgs.msg.PointField()
01043 start = end
01044 end += 4
01045 (length,) = _struct_I.unpack(str[start:end])
01046 start = end
01047 end += length
01048 val1.name = str[start:end]
01049 _x = val1
01050 start = end
01051 end += 9
01052 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
01053 self.point_cloud.fields.append(val1)
01054 _x = self
01055 start = end
01056 end += 9
01057 (_x.point_cloud.is_bigendian, _x.point_cloud.point_step, _x.point_cloud.row_step,) = _struct_B2I.unpack(str[start:end])
01058 self.point_cloud.is_bigendian = bool(self.point_cloud.is_bigendian)
01059 start = end
01060 end += 4
01061 (length,) = _struct_I.unpack(str[start:end])
01062 start = end
01063 end += length
01064 self.point_cloud.data = str[start:end]
01065 _x = self
01066 start = end
01067 end += 13
01068 (_x.point_cloud.is_dense, _x.disparity_image.header.seq, _x.disparity_image.header.stamp.secs, _x.disparity_image.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
01069 self.point_cloud.is_dense = bool(self.point_cloud.is_dense)
01070 start = end
01071 end += 4
01072 (length,) = _struct_I.unpack(str[start:end])
01073 start = end
01074 end += length
01075 self.disparity_image.header.frame_id = str[start:end]
01076 _x = self
01077 start = end
01078 end += 12
01079 (_x.disparity_image.image.header.seq, _x.disparity_image.image.header.stamp.secs, _x.disparity_image.image.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01080 start = end
01081 end += 4
01082 (length,) = _struct_I.unpack(str[start:end])
01083 start = end
01084 end += length
01085 self.disparity_image.image.header.frame_id = str[start:end]
01086 _x = self
01087 start = end
01088 end += 8
01089 (_x.disparity_image.image.height, _x.disparity_image.image.width,) = _struct_2I.unpack(str[start:end])
01090 start = end
01091 end += 4
01092 (length,) = _struct_I.unpack(str[start:end])
01093 start = end
01094 end += length
01095 self.disparity_image.image.encoding = str[start:end]
01096 _x = self
01097 start = end
01098 end += 5
01099 (_x.disparity_image.image.is_bigendian, _x.disparity_image.image.step,) = _struct_BI.unpack(str[start:end])
01100 start = end
01101 end += 4
01102 (length,) = _struct_I.unpack(str[start:end])
01103 start = end
01104 end += length
01105 self.disparity_image.image.data = str[start:end]
01106 _x = self
01107 start = end
01108 end += 37
01109 (_x.disparity_image.f, _x.disparity_image.T, _x.disparity_image.valid_window.x_offset, _x.disparity_image.valid_window.y_offset, _x.disparity_image.valid_window.height, _x.disparity_image.valid_window.width, _x.disparity_image.valid_window.do_rectify, _x.disparity_image.min_disparity, _x.disparity_image.max_disparity, _x.disparity_image.delta_d,) = _struct_2f4IB3f.unpack(str[start:end])
01110 self.disparity_image.valid_window.do_rectify = bool(self.disparity_image.valid_window.do_rectify)
01111 return self
01112 except struct.error, e:
01113 raise roslib.message.DeserializationError(e)
01114
01115 _struct_I = roslib.message.struct_I
01116 _struct_IBI = struct.Struct("<IBI")
01117 _struct_6IB3I = struct.Struct("<6IB3I")
01118 _struct_12d = struct.Struct("<12d")
01119 _struct_2f4IB3f = struct.Struct("<2f4IB3f")
01120 _struct_9d = struct.Struct("<9d")
01121 _struct_BI = struct.Struct("<BI")
01122 _struct_3I = struct.Struct("<3I")
01123 _struct_B3I = struct.Struct("<B3I")
01124 _struct_B2I = struct.Struct("<B2I")
01125 _struct_2I = struct.Struct("<2I")