00001 """autogenerated by genpy from pr2_pick_and_place_service/PickPlaceRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007
00008 class PickPlaceRequest(genpy.Message):
00009 _md5sum = "a103fd90ae71bfd419fcdfa60a00c804"
00010 _type = "pr2_pick_and_place_service/PickPlaceRequest"
00011 _has_header = False
00012 _full_text = """string command
00013 string arg
00014
00015
00016 """
00017 __slots__ = ['command','arg']
00018 _slot_types = ['string','string']
00019
00020 def __init__(self, *args, **kwds):
00021 """
00022 Constructor. Any message fields that are implicitly/explicitly
00023 set to None will be assigned a default value. The recommend
00024 use is keyword arguments as this is more robust to future message
00025 changes. You cannot mix in-order arguments and keyword arguments.
00026
00027 The available fields are:
00028 command,arg
00029
00030 :param args: complete set of field values, in .msg order
00031 :param kwds: use keyword arguments corresponding to message field names
00032 to set specific fields.
00033 """
00034 if args or kwds:
00035 super(PickPlaceRequest, self).__init__(*args, **kwds)
00036
00037 if self.command is None:
00038 self.command = ''
00039 if self.arg is None:
00040 self.arg = ''
00041 else:
00042 self.command = ''
00043 self.arg = ''
00044
00045 def _get_types(self):
00046 """
00047 internal API method
00048 """
00049 return self._slot_types
00050
00051 def serialize(self, buff):
00052 """
00053 serialize message into buffer
00054 :param buff: buffer, ``StringIO``
00055 """
00056 try:
00057 _x = self.command
00058 length = len(_x)
00059 if python3 or type(_x) == unicode:
00060 _x = _x.encode('utf-8')
00061 length = len(_x)
00062 buff.write(struct.pack('<I%ss'%length, length, _x))
00063 _x = self.arg
00064 length = len(_x)
00065 if python3 or type(_x) == unicode:
00066 _x = _x.encode('utf-8')
00067 length = len(_x)
00068 buff.write(struct.pack('<I%ss'%length, length, _x))
00069 except struct.error as se: self._check_types(se)
00070 except TypeError as te: self._check_types(te)
00071
00072 def deserialize(self, str):
00073 """
00074 unpack serialized message in str into this message instance
00075 :param str: byte array of serialized message, ``str``
00076 """
00077 try:
00078 end = 0
00079 start = end
00080 end += 4
00081 (length,) = _struct_I.unpack(str[start:end])
00082 start = end
00083 end += length
00084 if python3:
00085 self.command = str[start:end].decode('utf-8')
00086 else:
00087 self.command = str[start:end]
00088 start = end
00089 end += 4
00090 (length,) = _struct_I.unpack(str[start:end])
00091 start = end
00092 end += length
00093 if python3:
00094 self.arg = str[start:end].decode('utf-8')
00095 else:
00096 self.arg = str[start:end]
00097 return self
00098 except struct.error as e:
00099 raise genpy.DeserializationError(e)
00100
00101
00102 def serialize_numpy(self, buff, numpy):
00103 """
00104 serialize message with numpy array types into buffer
00105 :param buff: buffer, ``StringIO``
00106 :param numpy: numpy python module
00107 """
00108 try:
00109 _x = self.command
00110 length = len(_x)
00111 if python3 or type(_x) == unicode:
00112 _x = _x.encode('utf-8')
00113 length = len(_x)
00114 buff.write(struct.pack('<I%ss'%length, length, _x))
00115 _x = self.arg
00116 length = len(_x)
00117 if python3 or type(_x) == unicode:
00118 _x = _x.encode('utf-8')
00119 length = len(_x)
00120 buff.write(struct.pack('<I%ss'%length, length, _x))
00121 except struct.error as se: self._check_types(se)
00122 except TypeError as te: self._check_types(te)
00123
00124 def deserialize_numpy(self, str, numpy):
00125 """
00126 unpack serialized message in str into this message instance using numpy for array types
00127 :param str: byte array of serialized message, ``str``
00128 :param numpy: numpy python module
00129 """
00130 try:
00131 end = 0
00132 start = end
00133 end += 4
00134 (length,) = _struct_I.unpack(str[start:end])
00135 start = end
00136 end += length
00137 if python3:
00138 self.command = str[start:end].decode('utf-8')
00139 else:
00140 self.command = str[start:end]
00141 start = end
00142 end += 4
00143 (length,) = _struct_I.unpack(str[start:end])
00144 start = end
00145 end += length
00146 if python3:
00147 self.arg = str[start:end].decode('utf-8')
00148 else:
00149 self.arg = str[start:end]
00150 return self
00151 except struct.error as e:
00152 raise genpy.DeserializationError(e)
00153
00154 _struct_I = genpy.struct_I
00155 """autogenerated by genpy from pr2_pick_and_place_service/PickPlaceResponse.msg. Do not edit."""
00156 import sys
00157 python3 = True if sys.hexversion > 0x03000000 else False
00158 import genpy
00159 import struct
00160
00161 import object_manipulation_msgs.msg
00162 import geometry_msgs.msg
00163 import pr2_pick_and_place_service.msg
00164 import sensor_msgs.msg
00165 import household_objects_database_msgs.msg
00166 import std_msgs.msg
00167
00168 class PickPlaceResponse(genpy.Message):
00169 _md5sum = "a1461d83d374e19cb65866ae1f17bb1c"
00170 _type = "pr2_pick_and_place_service/PickPlaceResponse"
00171 _has_header = False
00172 _full_text = """string response
00173 PickPlaceObject[] objects
00174
00175
00176 ================================================================================
00177 MSG: pr2_pick_and_place_service/PickPlaceObject
00178 int32 objectid
00179 object_manipulation_msgs/GraspableObject object
00180 geometry_msgs/PoseStamped pose
00181 float64[] boundingbox
00182
00183 ================================================================================
00184 MSG: object_manipulation_msgs/GraspableObject
00185 # an object that the object_manipulator can work on
00186
00187 # a graspable object can be represented in multiple ways. This message
00188 # can contain all of them. Which one is actually used is up to the receiver
00189 # of this message. When adding new representations, one must be careful that
00190 # they have reasonable lightweight defaults indicating that that particular
00191 # representation is not available.
00192
00193 # the tf frame to be used as a reference frame when combining information from
00194 # the different representations below
00195 string reference_frame_id
00196
00197 # potential recognition results from a database of models
00198 # all poses are relative to the object reference pose
00199 household_objects_database_msgs/DatabaseModelPose[] potential_models
00200
00201 # the point cloud itself
00202 sensor_msgs/PointCloud cluster
00203
00204 # a region of a PointCloud2 of interest
00205 object_manipulation_msgs/SceneRegion region
00206
00207 # the name that this object has in the collision environment
00208 string collision_name
00209 ================================================================================
00210 MSG: household_objects_database_msgs/DatabaseModelPose
00211 # Informs that a specific model from the Model Database has been
00212 # identified at a certain location
00213
00214 # the database id of the model
00215 int32 model_id
00216
00217 # the pose that it can be found in
00218 geometry_msgs/PoseStamped pose
00219
00220 # a measure of the confidence level in this detection result
00221 float32 confidence
00222
00223 # the name of the object detector that generated this detection result
00224 string detector_name
00225
00226 ================================================================================
00227 MSG: geometry_msgs/PoseStamped
00228 # A Pose with reference coordinate frame and timestamp
00229 Header header
00230 Pose pose
00231
00232 ================================================================================
00233 MSG: std_msgs/Header
00234 # Standard metadata for higher-level stamped data types.
00235 # This is generally used to communicate timestamped data
00236 # in a particular coordinate frame.
00237 #
00238 # sequence ID: consecutively increasing ID
00239 uint32 seq
00240 #Two-integer timestamp that is expressed as:
00241 # * stamp.secs: seconds (stamp_secs) since epoch
00242 # * stamp.nsecs: nanoseconds since stamp_secs
00243 # time-handling sugar is provided by the client library
00244 time stamp
00245 #Frame this data is associated with
00246 # 0: no frame
00247 # 1: global frame
00248 string frame_id
00249
00250 ================================================================================
00251 MSG: geometry_msgs/Pose
00252 # A representation of pose in free space, composed of postion and orientation.
00253 Point position
00254 Quaternion orientation
00255
00256 ================================================================================
00257 MSG: geometry_msgs/Point
00258 # This contains the position of a point in free space
00259 float64 x
00260 float64 y
00261 float64 z
00262
00263 ================================================================================
00264 MSG: geometry_msgs/Quaternion
00265 # This represents an orientation in free space in quaternion form.
00266
00267 float64 x
00268 float64 y
00269 float64 z
00270 float64 w
00271
00272 ================================================================================
00273 MSG: sensor_msgs/PointCloud
00274 # This message holds a collection of 3d points, plus optional additional
00275 # information about each point.
00276
00277 # Time of sensor data acquisition, coordinate frame ID.
00278 Header header
00279
00280 # Array of 3d points. Each Point32 should be interpreted as a 3d point
00281 # in the frame given in the header.
00282 geometry_msgs/Point32[] points
00283
00284 # Each channel should have the same number of elements as points array,
00285 # and the data in each channel should correspond 1:1 with each point.
00286 # Channel names in common practice are listed in ChannelFloat32.msg.
00287 ChannelFloat32[] channels
00288
00289 ================================================================================
00290 MSG: geometry_msgs/Point32
00291 # This contains the position of a point in free space(with 32 bits of precision).
00292 # It is recommeded to use Point wherever possible instead of Point32.
00293 #
00294 # This recommendation is to promote interoperability.
00295 #
00296 # This message is designed to take up less space when sending
00297 # lots of points at once, as in the case of a PointCloud.
00298
00299 float32 x
00300 float32 y
00301 float32 z
00302 ================================================================================
00303 MSG: sensor_msgs/ChannelFloat32
00304 # This message is used by the PointCloud message to hold optional data
00305 # associated with each point in the cloud. The length of the values
00306 # array should be the same as the length of the points array in the
00307 # PointCloud, and each value should be associated with the corresponding
00308 # point.
00309
00310 # Channel names in existing practice include:
00311 # "u", "v" - row and column (respectively) in the left stereo image.
00312 # This is opposite to usual conventions but remains for
00313 # historical reasons. The newer PointCloud2 message has no
00314 # such problem.
00315 # "rgb" - For point clouds produced by color stereo cameras. uint8
00316 # (R,G,B) values packed into the least significant 24 bits,
00317 # in order.
00318 # "intensity" - laser or pixel intensity.
00319 # "distance"
00320
00321 # The channel name should give semantics of the channel (e.g.
00322 # "intensity" instead of "value").
00323 string name
00324
00325 # The values array should be 1-1 with the elements of the associated
00326 # PointCloud.
00327 float32[] values
00328
00329 ================================================================================
00330 MSG: object_manipulation_msgs/SceneRegion
00331 # Point cloud
00332 sensor_msgs/PointCloud2 cloud
00333
00334 # Indices for the region of interest
00335 int32[] mask
00336
00337 # One of the corresponding 2D images, if applicable
00338 sensor_msgs/Image image
00339
00340 # The disparity image, if applicable
00341 sensor_msgs/Image disparity_image
00342
00343 # Camera info for the camera that took the image
00344 sensor_msgs/CameraInfo cam_info
00345
00346 # a 3D region of interest for grasp planning
00347 geometry_msgs/PoseStamped roi_box_pose
00348 geometry_msgs/Vector3 roi_box_dims
00349
00350 ================================================================================
00351 MSG: sensor_msgs/PointCloud2
00352 # This message holds a collection of N-dimensional points, which may
00353 # contain additional information such as normals, intensity, etc. The
00354 # point data is stored as a binary blob, its layout described by the
00355 # contents of the "fields" array.
00356
00357 # The point cloud data may be organized 2d (image-like) or 1d
00358 # (unordered). Point clouds organized as 2d images may be produced by
00359 # camera depth sensors such as stereo or time-of-flight.
00360
00361 # Time of sensor data acquisition, and the coordinate frame ID (for 3d
00362 # points).
00363 Header header
00364
00365 # 2D structure of the point cloud. If the cloud is unordered, height is
00366 # 1 and width is the length of the point cloud.
00367 uint32 height
00368 uint32 width
00369
00370 # Describes the channels and their layout in the binary data blob.
00371 PointField[] fields
00372
00373 bool is_bigendian # Is this data bigendian?
00374 uint32 point_step # Length of a point in bytes
00375 uint32 row_step # Length of a row in bytes
00376 uint8[] data # Actual point data, size is (row_step*height)
00377
00378 bool is_dense # True if there are no invalid points
00379
00380 ================================================================================
00381 MSG: sensor_msgs/PointField
00382 # This message holds the description of one point entry in the
00383 # PointCloud2 message format.
00384 uint8 INT8 = 1
00385 uint8 UINT8 = 2
00386 uint8 INT16 = 3
00387 uint8 UINT16 = 4
00388 uint8 INT32 = 5
00389 uint8 UINT32 = 6
00390 uint8 FLOAT32 = 7
00391 uint8 FLOAT64 = 8
00392
00393 string name # Name of field
00394 uint32 offset # Offset from start of point struct
00395 uint8 datatype # Datatype enumeration, see above
00396 uint32 count # How many elements in the field
00397
00398 ================================================================================
00399 MSG: sensor_msgs/Image
00400 # This message contains an uncompressed image
00401 # (0, 0) is at top-left corner of image
00402 #
00403
00404 Header header # Header timestamp should be acquisition time of image
00405 # Header frame_id should be optical frame of camera
00406 # origin of frame should be optical center of cameara
00407 # +x should point to the right in the image
00408 # +y should point down in the image
00409 # +z should point into to plane of the image
00410 # If the frame_id here and the frame_id of the CameraInfo
00411 # message associated with the image conflict
00412 # the behavior is undefined
00413
00414 uint32 height # image height, that is, number of rows
00415 uint32 width # image width, that is, number of columns
00416
00417 # The legal values for encoding are in file src/image_encodings.cpp
00418 # If you want to standardize a new string format, join
00419 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.
00420
00421 string encoding # Encoding of pixels -- channel meaning, ordering, size
00422 # taken from the list of strings in src/image_encodings.cpp
00423
00424 uint8 is_bigendian # is this data bigendian?
00425 uint32 step # Full row length in bytes
00426 uint8[] data # actual matrix data, size is (step * rows)
00427
00428 ================================================================================
00429 MSG: sensor_msgs/CameraInfo
00430 # This message defines meta information for a camera. It should be in a
00431 # camera namespace on topic "camera_info" and accompanied by up to five
00432 # image topics named:
00433 #
00434 # image_raw - raw data from the camera driver, possibly Bayer encoded
00435 # image - monochrome, distorted
00436 # image_color - color, distorted
00437 # image_rect - monochrome, rectified
00438 # image_rect_color - color, rectified
00439 #
00440 # The image_pipeline contains packages (image_proc, stereo_image_proc)
00441 # for producing the four processed image topics from image_raw and
00442 # camera_info. The meaning of the camera parameters are described in
00443 # detail at http://www.ros.org/wiki/image_pipeline/CameraInfo.
00444 #
00445 # The image_geometry package provides a user-friendly interface to
00446 # common operations using this meta information. If you want to, e.g.,
00447 # project a 3d point into image coordinates, we strongly recommend
00448 # using image_geometry.
00449 #
00450 # If the camera is uncalibrated, the matrices D, K, R, P should be left
00451 # zeroed out. In particular, clients may assume that K[0] == 0.0
00452 # indicates an uncalibrated camera.
00453
00454 #######################################################################
00455 # Image acquisition info #
00456 #######################################################################
00457
00458 # Time of image acquisition, camera coordinate frame ID
00459 Header header # Header timestamp should be acquisition time of image
00460 # Header frame_id should be optical frame of camera
00461 # origin of frame should be optical center of camera
00462 # +x should point to the right in the image
00463 # +y should point down in the image
00464 # +z should point into the plane of the image
00465
00466
00467 #######################################################################
00468 # Calibration Parameters #
00469 #######################################################################
00470 # These are fixed during camera calibration. Their values will be the #
00471 # same in all messages until the camera is recalibrated. Note that #
00472 # self-calibrating systems may "recalibrate" frequently. #
00473 # #
00474 # The internal parameters can be used to warp a raw (distorted) image #
00475 # to: #
00476 # 1. An undistorted image (requires D and K) #
00477 # 2. A rectified image (requires D, K, R) #
00478 # The projection matrix P projects 3D points into the rectified image.#
00479 #######################################################################
00480
00481 # The image dimensions with which the camera was calibrated. Normally
00482 # this will be the full camera resolution in pixels.
00483 uint32 height
00484 uint32 width
00485
00486 # The distortion model used. Supported models are listed in
00487 # sensor_msgs/distortion_models.h. For most cameras, "plumb_bob" - a
00488 # simple model of radial and tangential distortion - is sufficent.
00489 string distortion_model
00490
00491 # The distortion parameters, size depending on the distortion model.
00492 # For "plumb_bob", the 5 parameters are: (k1, k2, t1, t2, k3).
00493 float64[] D
00494
00495 # Intrinsic camera matrix for the raw (distorted) images.
00496 # [fx 0 cx]
00497 # K = [ 0 fy cy]
00498 # [ 0 0 1]
00499 # Projects 3D points in the camera coordinate frame to 2D pixel
00500 # coordinates using the focal lengths (fx, fy) and principal point
00501 # (cx, cy).
00502 float64[9] K # 3x3 row-major matrix
00503
00504 # Rectification matrix (stereo cameras only)
00505 # A rotation matrix aligning the camera coordinate system to the ideal
00506 # stereo image plane so that epipolar lines in both stereo images are
00507 # parallel.
00508 float64[9] R # 3x3 row-major matrix
00509
00510 # Projection/camera matrix
00511 # [fx' 0 cx' Tx]
00512 # P = [ 0 fy' cy' Ty]
00513 # [ 0 0 1 0]
00514 # By convention, this matrix specifies the intrinsic (camera) matrix
00515 # of the processed (rectified) image. That is, the left 3x3 portion
00516 # is the normal camera intrinsic matrix for the rectified image.
00517 # It projects 3D points in the camera coordinate frame to 2D pixel
00518 # coordinates using the focal lengths (fx', fy') and principal point
00519 # (cx', cy') - these may differ from the values in K.
00520 # For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will
00521 # also have R = the identity and P[1:3,1:3] = K.
00522 # For a stereo pair, the fourth column [Tx Ty 0]' is related to the
00523 # position of the optical center of the second camera in the first
00524 # camera's frame. We assume Tz = 0 so both cameras are in the same
00525 # stereo image plane. The first camera always has Tx = Ty = 0. For
00526 # the right (second) camera of a horizontal stereo pair, Ty = 0 and
00527 # Tx = -fx' * B, where B is the baseline between the cameras.
00528 # Given a 3D point [X Y Z]', the projection (x, y) of the point onto
00529 # the rectified image is given by:
00530 # [u v w]' = P * [X Y Z 1]'
00531 # x = u / w
00532 # y = v / w
00533 # This holds for both images of a stereo pair.
00534 float64[12] P # 3x4 row-major matrix
00535
00536
00537 #######################################################################
00538 # Operational Parameters #
00539 #######################################################################
00540 # These define the image region actually captured by the camera #
00541 # driver. Although they affect the geometry of the output image, they #
00542 # may be changed freely without recalibrating the camera. #
00543 #######################################################################
00544
00545 # Binning refers here to any camera setting which combines rectangular
00546 # neighborhoods of pixels into larger "super-pixels." It reduces the
00547 # resolution of the output image to
00548 # (width / binning_x) x (height / binning_y).
00549 # The default values binning_x = binning_y = 0 is considered the same
00550 # as binning_x = binning_y = 1 (no subsampling).
00551 uint32 binning_x
00552 uint32 binning_y
00553
00554 # Region of interest (subwindow of full camera resolution), given in
00555 # full resolution (unbinned) image coordinates. A particular ROI
00556 # always denotes the same window of pixels on the camera sensor,
00557 # regardless of binning settings.
00558 # The default setting of roi (all values 0) is considered the same as
00559 # full resolution (roi.width = width, roi.height = height).
00560 RegionOfInterest roi
00561
00562 ================================================================================
00563 MSG: sensor_msgs/RegionOfInterest
00564 # This message is used to specify a region of interest within an image.
00565 #
00566 # When used to specify the ROI setting of the camera when the image was
00567 # taken, the height and width fields should either match the height and
00568 # width fields for the associated image; or height = width = 0
00569 # indicates that the full resolution image was captured.
00570
00571 uint32 x_offset # Leftmost pixel of the ROI
00572 # (0 if the ROI includes the left edge of the image)
00573 uint32 y_offset # Topmost pixel of the ROI
00574 # (0 if the ROI includes the top edge of the image)
00575 uint32 height # Height of ROI
00576 uint32 width # Width of ROI
00577
00578 # True if a distinct rectified ROI should be calculated from the "raw"
00579 # ROI in this message. Typically this should be False if the full image
00580 # is captured (ROI not used), and True if a subwindow is captured (ROI
00581 # used).
00582 bool do_rectify
00583
00584 ================================================================================
00585 MSG: geometry_msgs/Vector3
00586 # This represents a vector in free space.
00587
00588 float64 x
00589 float64 y
00590 float64 z
00591 """
00592 __slots__ = ['response','objects']
00593 _slot_types = ['string','pr2_pick_and_place_service/PickPlaceObject[]']
00594
00595 def __init__(self, *args, **kwds):
00596 """
00597 Constructor. Any message fields that are implicitly/explicitly
00598 set to None will be assigned a default value. The recommend
00599 use is keyword arguments as this is more robust to future message
00600 changes. You cannot mix in-order arguments and keyword arguments.
00601
00602 The available fields are:
00603 response,objects
00604
00605 :param args: complete set of field values, in .msg order
00606 :param kwds: use keyword arguments corresponding to message field names
00607 to set specific fields.
00608 """
00609 if args or kwds:
00610 super(PickPlaceResponse, self).__init__(*args, **kwds)
00611 #message fields cannot be None, assign default values for those that are
00612 if self.response is None:
00613 self.response = ''
00614 if self.objects is None:
00615 self.objects = []
00616 else:
00617 self.response = ''
00618 self.objects = []
00619
00620 def _get_types(self):
00621 """
00622 internal API method
00623 """
00624 return self._slot_types
00625
00626 def serialize(self, buff):
00627 """
00628 serialize message into buffer
00629 :param buff: buffer, ``StringIO``
00630 """
00631 try:
00632 _x = self.response
00633 length = len(_x)
00634 if python3 or type(_x) == unicode:
00635 _x = _x.encode('utf-8')
00636 length = len(_x)
00637 buff.write(struct.pack('<I%ss'%length, length, _x))
00638 length = len(self.objects)
00639 buff.write(_struct_I.pack(length))
00640 for val1 in self.objects:
00641 buff.write(_struct_i.pack(val1.objectid))
00642 _v1 = val1.object
00643 _x = _v1.reference_frame_id
00644 length = len(_x)
00645 if python3 or type(_x) == unicode:
00646 _x = _x.encode('utf-8')
00647 length = len(_x)
00648 buff.write(struct.pack('<I%ss'%length, length, _x))
00649 length = len(_v1.potential_models)
00650 buff.write(_struct_I.pack(length))
00651 for val3 in _v1.potential_models:
00652 buff.write(_struct_i.pack(val3.model_id))
00653 _v2 = val3.pose
00654 _v3 = _v2.header
00655 buff.write(_struct_I.pack(_v3.seq))
00656 _v4 = _v3.stamp
00657 _x = _v4
00658 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00659 _x = _v3.frame_id
00660 length = len(_x)
00661 if python3 or type(_x) == unicode:
00662 _x = _x.encode('utf-8')
00663 length = len(_x)
00664 buff.write(struct.pack('<I%ss'%length, length, _x))
00665 _v5 = _v2.pose
00666 _v6 = _v5.position
00667 _x = _v6
00668 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00669 _v7 = _v5.orientation
00670 _x = _v7
00671 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00672 buff.write(_struct_f.pack(val3.confidence))
00673 _x = val3.detector_name
00674 length = len(_x)
00675 if python3 or type(_x) == unicode:
00676 _x = _x.encode('utf-8')
00677 length = len(_x)
00678 buff.write(struct.pack('<I%ss'%length, length, _x))
00679 _v8 = _v1.cluster
00680 _v9 = _v8.header
00681 buff.write(_struct_I.pack(_v9.seq))
00682 _v10 = _v9.stamp
00683 _x = _v10
00684 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00685 _x = _v9.frame_id
00686 length = len(_x)
00687 if python3 or type(_x) == unicode:
00688 _x = _x.encode('utf-8')
00689 length = len(_x)
00690 buff.write(struct.pack('<I%ss'%length, length, _x))
00691 length = len(_v8.points)
00692 buff.write(_struct_I.pack(length))
00693 for val4 in _v8.points:
00694 _x = val4
00695 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
00696 length = len(_v8.channels)
00697 buff.write(_struct_I.pack(length))
00698 for val4 in _v8.channels:
00699 _x = val4.name
00700 length = len(_x)
00701 if python3 or type(_x) == unicode:
00702 _x = _x.encode('utf-8')
00703 length = len(_x)
00704 buff.write(struct.pack('<I%ss'%length, length, _x))
00705 length = len(val4.values)
00706 buff.write(_struct_I.pack(length))
00707 pattern = '<%sf'%length
00708 buff.write(struct.pack(pattern, *val4.values))
00709 _v11 = _v1.region
00710 _v12 = _v11.cloud
00711 _v13 = _v12.header
00712 buff.write(_struct_I.pack(_v13.seq))
00713 _v14 = _v13.stamp
00714 _x = _v14
00715 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00716 _x = _v13.frame_id
00717 length = len(_x)
00718 if python3 or type(_x) == unicode:
00719 _x = _x.encode('utf-8')
00720 length = len(_x)
00721 buff.write(struct.pack('<I%ss'%length, length, _x))
00722 _x = _v12
00723 buff.write(_struct_2I.pack(_x.height, _x.width))
00724 length = len(_v12.fields)
00725 buff.write(_struct_I.pack(length))
00726 for val5 in _v12.fields:
00727 _x = val5.name
00728 length = len(_x)
00729 if python3 or type(_x) == unicode:
00730 _x = _x.encode('utf-8')
00731 length = len(_x)
00732 buff.write(struct.pack('<I%ss'%length, length, _x))
00733 _x = val5
00734 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
00735 _x = _v12
00736 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
00737 _x = _v12.data
00738 length = len(_x)
00739 # - if encoded as a list instead, serialize as bytes instead of string
00740 if type(_x) in [list, tuple]:
00741 buff.write(struct.pack('<I%sB'%length, length, *_x))
00742 else:
00743 buff.write(struct.pack('<I%ss'%length, length, _x))
00744 buff.write(_struct_B.pack(_v12.is_dense))
00745 length = len(_v11.mask)
00746 buff.write(_struct_I.pack(length))
00747 pattern = '<%si'%length
00748 buff.write(struct.pack(pattern, *_v11.mask))
00749 _v15 = _v11.image
00750 _v16 = _v15.header
00751 buff.write(_struct_I.pack(_v16.seq))
00752 _v17 = _v16.stamp
00753 _x = _v17
00754 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00755 _x = _v16.frame_id
00756 length = len(_x)
00757 if python3 or type(_x) == unicode:
00758 _x = _x.encode('utf-8')
00759 length = len(_x)
00760 buff.write(struct.pack('<I%ss'%length, length, _x))
00761 _x = _v15
00762 buff.write(_struct_2I.pack(_x.height, _x.width))
00763 _x = _v15.encoding
00764 length = len(_x)
00765 if python3 or type(_x) == unicode:
00766 _x = _x.encode('utf-8')
00767 length = len(_x)
00768 buff.write(struct.pack('<I%ss'%length, length, _x))
00769 _x = _v15
00770 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
00771 _x = _v15.data
00772 length = len(_x)
00773 # - if encoded as a list instead, serialize as bytes instead of string
00774 if type(_x) in [list, tuple]:
00775 buff.write(struct.pack('<I%sB'%length, length, *_x))
00776 else:
00777 buff.write(struct.pack('<I%ss'%length, length, _x))
00778 _v18 = _v11.disparity_image
00779 _v19 = _v18.header
00780 buff.write(_struct_I.pack(_v19.seq))
00781 _v20 = _v19.stamp
00782 _x = _v20
00783 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00784 _x = _v19.frame_id
00785 length = len(_x)
00786 if python3 or type(_x) == unicode:
00787 _x = _x.encode('utf-8')
00788 length = len(_x)
00789 buff.write(struct.pack('<I%ss'%length, length, _x))
00790 _x = _v18
00791 buff.write(_struct_2I.pack(_x.height, _x.width))
00792 _x = _v18.encoding
00793 length = len(_x)
00794 if python3 or type(_x) == unicode:
00795 _x = _x.encode('utf-8')
00796 length = len(_x)
00797 buff.write(struct.pack('<I%ss'%length, length, _x))
00798 _x = _v18
00799 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
00800 _x = _v18.data
00801 length = len(_x)
00802 # - if encoded as a list instead, serialize as bytes instead of string
00803 if type(_x) in [list, tuple]:
00804 buff.write(struct.pack('<I%sB'%length, length, *_x))
00805 else:
00806 buff.write(struct.pack('<I%ss'%length, length, _x))
00807 _v21 = _v11.cam_info
00808 _v22 = _v21.header
00809 buff.write(_struct_I.pack(_v22.seq))
00810 _v23 = _v22.stamp
00811 _x = _v23
00812 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00813 _x = _v22.frame_id
00814 length = len(_x)
00815 if python3 or type(_x) == unicode:
00816 _x = _x.encode('utf-8')
00817 length = len(_x)
00818 buff.write(struct.pack('<I%ss'%length, length, _x))
00819 _x = _v21
00820 buff.write(_struct_2I.pack(_x.height, _x.width))
00821 _x = _v21.distortion_model
00822 length = len(_x)
00823 if python3 or type(_x) == unicode:
00824 _x = _x.encode('utf-8')
00825 length = len(_x)
00826 buff.write(struct.pack('<I%ss'%length, length, _x))
00827 length = len(_v21.D)
00828 buff.write(_struct_I.pack(length))
00829 pattern = '<%sd'%length
00830 buff.write(struct.pack(pattern, *_v21.D))
00831 buff.write(_struct_9d.pack(*_v21.K))
00832 buff.write(_struct_9d.pack(*_v21.R))
00833 buff.write(_struct_12d.pack(*_v21.P))
00834 _x = _v21
00835 buff.write(_struct_2I.pack(_x.binning_x, _x.binning_y))
00836 _v24 = _v21.roi
00837 _x = _v24
00838 buff.write(_struct_4IB.pack(_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify))
00839 _v25 = _v11.roi_box_pose
00840 _v26 = _v25.header
00841 buff.write(_struct_I.pack(_v26.seq))
00842 _v27 = _v26.stamp
00843 _x = _v27
00844 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00845 _x = _v26.frame_id
00846 length = len(_x)
00847 if python3 or type(_x) == unicode:
00848 _x = _x.encode('utf-8')
00849 length = len(_x)
00850 buff.write(struct.pack('<I%ss'%length, length, _x))
00851 _v28 = _v25.pose
00852 _v29 = _v28.position
00853 _x = _v29
00854 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00855 _v30 = _v28.orientation
00856 _x = _v30
00857 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00858 _v31 = _v11.roi_box_dims
00859 _x = _v31
00860 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00861 _x = _v1.collision_name
00862 length = len(_x)
00863 if python3 or type(_x) == unicode:
00864 _x = _x.encode('utf-8')
00865 length = len(_x)
00866 buff.write(struct.pack('<I%ss'%length, length, _x))
00867 _v32 = val1.pose
00868 _v33 = _v32.header
00869 buff.write(_struct_I.pack(_v33.seq))
00870 _v34 = _v33.stamp
00871 _x = _v34
00872 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00873 _x = _v33.frame_id
00874 length = len(_x)
00875 if python3 or type(_x) == unicode:
00876 _x = _x.encode('utf-8')
00877 length = len(_x)
00878 buff.write(struct.pack('<I%ss'%length, length, _x))
00879 _v35 = _v32.pose
00880 _v36 = _v35.position
00881 _x = _v36
00882 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00883 _v37 = _v35.orientation
00884 _x = _v37
00885 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00886 length = len(val1.boundingbox)
00887 buff.write(_struct_I.pack(length))
00888 pattern = '<%sd'%length
00889 buff.write(struct.pack(pattern, *val1.boundingbox))
00890 except struct.error as se: self._check_types(se)
00891 except TypeError as te: self._check_types(te)
00892
00893 def deserialize(self, str):
00894 """
00895 unpack serialized message in str into this message instance
00896 :param str: byte array of serialized message, ``str``
00897 """
00898 try:
00899 if self.objects is None:
00900 self.objects = None
00901 end = 0
00902 start = end
00903 end += 4
00904 (length,) = _struct_I.unpack(str[start:end])
00905 start = end
00906 end += length
00907 if python3:
00908 self.response = str[start:end].decode('utf-8')
00909 else:
00910 self.response = str[start:end]
00911 start = end
00912 end += 4
00913 (length,) = _struct_I.unpack(str[start:end])
00914 self.objects = []
00915 for i in range(0, length):
00916 val1 = pr2_pick_and_place_service.msg.PickPlaceObject()
00917 start = end
00918 end += 4
00919 (val1.objectid,) = _struct_i.unpack(str[start:end])
00920 _v38 = val1.object
00921 start = end
00922 end += 4
00923 (length,) = _struct_I.unpack(str[start:end])
00924 start = end
00925 end += length
00926 if python3:
00927 _v38.reference_frame_id = str[start:end].decode('utf-8')
00928 else:
00929 _v38.reference_frame_id = str[start:end]
00930 start = end
00931 end += 4
00932 (length,) = _struct_I.unpack(str[start:end])
00933 _v38.potential_models = []
00934 for i in range(0, length):
00935 val3 = household_objects_database_msgs.msg.DatabaseModelPose()
00936 start = end
00937 end += 4
00938 (val3.model_id,) = _struct_i.unpack(str[start:end])
00939 _v39 = val3.pose
00940 _v40 = _v39.header
00941 start = end
00942 end += 4
00943 (_v40.seq,) = _struct_I.unpack(str[start:end])
00944 _v41 = _v40.stamp
00945 _x = _v41
00946 start = end
00947 end += 8
00948 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00949 start = end
00950 end += 4
00951 (length,) = _struct_I.unpack(str[start:end])
00952 start = end
00953 end += length
00954 if python3:
00955 _v40.frame_id = str[start:end].decode('utf-8')
00956 else:
00957 _v40.frame_id = str[start:end]
00958 _v42 = _v39.pose
00959 _v43 = _v42.position
00960 _x = _v43
00961 start = end
00962 end += 24
00963 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00964 _v44 = _v42.orientation
00965 _x = _v44
00966 start = end
00967 end += 32
00968 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00969 start = end
00970 end += 4
00971 (val3.confidence,) = _struct_f.unpack(str[start:end])
00972 start = end
00973 end += 4
00974 (length,) = _struct_I.unpack(str[start:end])
00975 start = end
00976 end += length
00977 if python3:
00978 val3.detector_name = str[start:end].decode('utf-8')
00979 else:
00980 val3.detector_name = str[start:end]
00981 _v38.potential_models.append(val3)
00982 _v45 = _v38.cluster
00983 _v46 = _v45.header
00984 start = end
00985 end += 4
00986 (_v46.seq,) = _struct_I.unpack(str[start:end])
00987 _v47 = _v46.stamp
00988 _x = _v47
00989 start = end
00990 end += 8
00991 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00992 start = end
00993 end += 4
00994 (length,) = _struct_I.unpack(str[start:end])
00995 start = end
00996 end += length
00997 if python3:
00998 _v46.frame_id = str[start:end].decode('utf-8')
00999 else:
01000 _v46.frame_id = str[start:end]
01001 start = end
01002 end += 4
01003 (length,) = _struct_I.unpack(str[start:end])
01004 _v45.points = []
01005 for i in range(0, length):
01006 val4 = geometry_msgs.msg.Point32()
01007 _x = val4
01008 start = end
01009 end += 12
01010 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01011 _v45.points.append(val4)
01012 start = end
01013 end += 4
01014 (length,) = _struct_I.unpack(str[start:end])
01015 _v45.channels = []
01016 for i in range(0, length):
01017 val4 = sensor_msgs.msg.ChannelFloat32()
01018 start = end
01019 end += 4
01020 (length,) = _struct_I.unpack(str[start:end])
01021 start = end
01022 end += length
01023 if python3:
01024 val4.name = str[start:end].decode('utf-8')
01025 else:
01026 val4.name = str[start:end]
01027 start = end
01028 end += 4
01029 (length,) = _struct_I.unpack(str[start:end])
01030 pattern = '<%sf'%length
01031 start = end
01032 end += struct.calcsize(pattern)
01033 val4.values = struct.unpack(pattern, str[start:end])
01034 _v45.channels.append(val4)
01035 _v48 = _v38.region
01036 _v49 = _v48.cloud
01037 _v50 = _v49.header
01038 start = end
01039 end += 4
01040 (_v50.seq,) = _struct_I.unpack(str[start:end])
01041 _v51 = _v50.stamp
01042 _x = _v51
01043 start = end
01044 end += 8
01045 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01046 start = end
01047 end += 4
01048 (length,) = _struct_I.unpack(str[start:end])
01049 start = end
01050 end += length
01051 if python3:
01052 _v50.frame_id = str[start:end].decode('utf-8')
01053 else:
01054 _v50.frame_id = str[start:end]
01055 _x = _v49
01056 start = end
01057 end += 8
01058 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01059 start = end
01060 end += 4
01061 (length,) = _struct_I.unpack(str[start:end])
01062 _v49.fields = []
01063 for i in range(0, length):
01064 val5 = sensor_msgs.msg.PointField()
01065 start = end
01066 end += 4
01067 (length,) = _struct_I.unpack(str[start:end])
01068 start = end
01069 end += length
01070 if python3:
01071 val5.name = str[start:end].decode('utf-8')
01072 else:
01073 val5.name = str[start:end]
01074 _x = val5
01075 start = end
01076 end += 9
01077 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
01078 _v49.fields.append(val5)
01079 _x = _v49
01080 start = end
01081 end += 9
01082 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
01083 _v49.is_bigendian = bool(_v49.is_bigendian)
01084 start = end
01085 end += 4
01086 (length,) = _struct_I.unpack(str[start:end])
01087 start = end
01088 end += length
01089 if python3:
01090 _v49.data = str[start:end].decode('utf-8')
01091 else:
01092 _v49.data = str[start:end]
01093 start = end
01094 end += 1
01095 (_v49.is_dense,) = _struct_B.unpack(str[start:end])
01096 _v49.is_dense = bool(_v49.is_dense)
01097 start = end
01098 end += 4
01099 (length,) = _struct_I.unpack(str[start:end])
01100 pattern = '<%si'%length
01101 start = end
01102 end += struct.calcsize(pattern)
01103 _v48.mask = struct.unpack(pattern, str[start:end])
01104 _v52 = _v48.image
01105 _v53 = _v52.header
01106 start = end
01107 end += 4
01108 (_v53.seq,) = _struct_I.unpack(str[start:end])
01109 _v54 = _v53.stamp
01110 _x = _v54
01111 start = end
01112 end += 8
01113 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01114 start = end
01115 end += 4
01116 (length,) = _struct_I.unpack(str[start:end])
01117 start = end
01118 end += length
01119 if python3:
01120 _v53.frame_id = str[start:end].decode('utf-8')
01121 else:
01122 _v53.frame_id = str[start:end]
01123 _x = _v52
01124 start = end
01125 end += 8
01126 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01127 start = end
01128 end += 4
01129 (length,) = _struct_I.unpack(str[start:end])
01130 start = end
01131 end += length
01132 if python3:
01133 _v52.encoding = str[start:end].decode('utf-8')
01134 else:
01135 _v52.encoding = str[start:end]
01136 _x = _v52
01137 start = end
01138 end += 5
01139 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01140 start = end
01141 end += 4
01142 (length,) = _struct_I.unpack(str[start:end])
01143 start = end
01144 end += length
01145 if python3:
01146 _v52.data = str[start:end].decode('utf-8')
01147 else:
01148 _v52.data = str[start:end]
01149 _v55 = _v48.disparity_image
01150 _v56 = _v55.header
01151 start = end
01152 end += 4
01153 (_v56.seq,) = _struct_I.unpack(str[start:end])
01154 _v57 = _v56.stamp
01155 _x = _v57
01156 start = end
01157 end += 8
01158 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01159 start = end
01160 end += 4
01161 (length,) = _struct_I.unpack(str[start:end])
01162 start = end
01163 end += length
01164 if python3:
01165 _v56.frame_id = str[start:end].decode('utf-8')
01166 else:
01167 _v56.frame_id = str[start:end]
01168 _x = _v55
01169 start = end
01170 end += 8
01171 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01172 start = end
01173 end += 4
01174 (length,) = _struct_I.unpack(str[start:end])
01175 start = end
01176 end += length
01177 if python3:
01178 _v55.encoding = str[start:end].decode('utf-8')
01179 else:
01180 _v55.encoding = str[start:end]
01181 _x = _v55
01182 start = end
01183 end += 5
01184 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01185 start = end
01186 end += 4
01187 (length,) = _struct_I.unpack(str[start:end])
01188 start = end
01189 end += length
01190 if python3:
01191 _v55.data = str[start:end].decode('utf-8')
01192 else:
01193 _v55.data = str[start:end]
01194 _v58 = _v48.cam_info
01195 _v59 = _v58.header
01196 start = end
01197 end += 4
01198 (_v59.seq,) = _struct_I.unpack(str[start:end])
01199 _v60 = _v59.stamp
01200 _x = _v60
01201 start = end
01202 end += 8
01203 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01204 start = end
01205 end += 4
01206 (length,) = _struct_I.unpack(str[start:end])
01207 start = end
01208 end += length
01209 if python3:
01210 _v59.frame_id = str[start:end].decode('utf-8')
01211 else:
01212 _v59.frame_id = str[start:end]
01213 _x = _v58
01214 start = end
01215 end += 8
01216 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01217 start = end
01218 end += 4
01219 (length,) = _struct_I.unpack(str[start:end])
01220 start = end
01221 end += length
01222 if python3:
01223 _v58.distortion_model = str[start:end].decode('utf-8')
01224 else:
01225 _v58.distortion_model = str[start:end]
01226 start = end
01227 end += 4
01228 (length,) = _struct_I.unpack(str[start:end])
01229 pattern = '<%sd'%length
01230 start = end
01231 end += struct.calcsize(pattern)
01232 _v58.D = struct.unpack(pattern, str[start:end])
01233 start = end
01234 end += 72
01235 _v58.K = _struct_9d.unpack(str[start:end])
01236 start = end
01237 end += 72
01238 _v58.R = _struct_9d.unpack(str[start:end])
01239 start = end
01240 end += 96
01241 _v58.P = _struct_12d.unpack(str[start:end])
01242 _x = _v58
01243 start = end
01244 end += 8
01245 (_x.binning_x, _x.binning_y,) = _struct_2I.unpack(str[start:end])
01246 _v61 = _v58.roi
01247 _x = _v61
01248 start = end
01249 end += 17
01250 (_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify,) = _struct_4IB.unpack(str[start:end])
01251 _v61.do_rectify = bool(_v61.do_rectify)
01252 _v62 = _v48.roi_box_pose
01253 _v63 = _v62.header
01254 start = end
01255 end += 4
01256 (_v63.seq,) = _struct_I.unpack(str[start:end])
01257 _v64 = _v63.stamp
01258 _x = _v64
01259 start = end
01260 end += 8
01261 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01262 start = end
01263 end += 4
01264 (length,) = _struct_I.unpack(str[start:end])
01265 start = end
01266 end += length
01267 if python3:
01268 _v63.frame_id = str[start:end].decode('utf-8')
01269 else:
01270 _v63.frame_id = str[start:end]
01271 _v65 = _v62.pose
01272 _v66 = _v65.position
01273 _x = _v66
01274 start = end
01275 end += 24
01276 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01277 _v67 = _v65.orientation
01278 _x = _v67
01279 start = end
01280 end += 32
01281 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01282 _v68 = _v48.roi_box_dims
01283 _x = _v68
01284 start = end
01285 end += 24
01286 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01287 start = end
01288 end += 4
01289 (length,) = _struct_I.unpack(str[start:end])
01290 start = end
01291 end += length
01292 if python3:
01293 _v38.collision_name = str[start:end].decode('utf-8')
01294 else:
01295 _v38.collision_name = str[start:end]
01296 _v69 = val1.pose
01297 _v70 = _v69.header
01298 start = end
01299 end += 4
01300 (_v70.seq,) = _struct_I.unpack(str[start:end])
01301 _v71 = _v70.stamp
01302 _x = _v71
01303 start = end
01304 end += 8
01305 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01306 start = end
01307 end += 4
01308 (length,) = _struct_I.unpack(str[start:end])
01309 start = end
01310 end += length
01311 if python3:
01312 _v70.frame_id = str[start:end].decode('utf-8')
01313 else:
01314 _v70.frame_id = str[start:end]
01315 _v72 = _v69.pose
01316 _v73 = _v72.position
01317 _x = _v73
01318 start = end
01319 end += 24
01320 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01321 _v74 = _v72.orientation
01322 _x = _v74
01323 start = end
01324 end += 32
01325 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01326 start = end
01327 end += 4
01328 (length,) = _struct_I.unpack(str[start:end])
01329 pattern = '<%sd'%length
01330 start = end
01331 end += struct.calcsize(pattern)
01332 val1.boundingbox = struct.unpack(pattern, str[start:end])
01333 self.objects.append(val1)
01334 return self
01335 except struct.error as e:
01336 raise genpy.DeserializationError(e) #most likely buffer underfill
01337
01338
01339 def serialize_numpy(self, buff, numpy):
01340 """
01341 serialize message with numpy array types into buffer
01342 :param buff: buffer, ``StringIO``
01343 :param numpy: numpy python module
01344 """
01345 try:
01346 _x = self.response
01347 length = len(_x)
01348 if python3 or type(_x) == unicode:
01349 _x = _x.encode('utf-8')
01350 length = len(_x)
01351 buff.write(struct.pack('<I%ss'%length, length, _x))
01352 length = len(self.objects)
01353 buff.write(_struct_I.pack(length))
01354 for val1 in self.objects:
01355 buff.write(_struct_i.pack(val1.objectid))
01356 _v75 = val1.object
01357 _x = _v75.reference_frame_id
01358 length = len(_x)
01359 if python3 or type(_x) == unicode:
01360 _x = _x.encode('utf-8')
01361 length = len(_x)
01362 buff.write(struct.pack('<I%ss'%length, length, _x))
01363 length = len(_v75.potential_models)
01364 buff.write(_struct_I.pack(length))
01365 for val3 in _v75.potential_models:
01366 buff.write(_struct_i.pack(val3.model_id))
01367 _v76 = val3.pose
01368 _v77 = _v76.header
01369 buff.write(_struct_I.pack(_v77.seq))
01370 _v78 = _v77.stamp
01371 _x = _v78
01372 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01373 _x = _v77.frame_id
01374 length = len(_x)
01375 if python3 or type(_x) == unicode:
01376 _x = _x.encode('utf-8')
01377 length = len(_x)
01378 buff.write(struct.pack('<I%ss'%length, length, _x))
01379 _v79 = _v76.pose
01380 _v80 = _v79.position
01381 _x = _v80
01382 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01383 _v81 = _v79.orientation
01384 _x = _v81
01385 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01386 buff.write(_struct_f.pack(val3.confidence))
01387 _x = val3.detector_name
01388 length = len(_x)
01389 if python3 or type(_x) == unicode:
01390 _x = _x.encode('utf-8')
01391 length = len(_x)
01392 buff.write(struct.pack('<I%ss'%length, length, _x))
01393 _v82 = _v75.cluster
01394 _v83 = _v82.header
01395 buff.write(_struct_I.pack(_v83.seq))
01396 _v84 = _v83.stamp
01397 _x = _v84
01398 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01399 _x = _v83.frame_id
01400 length = len(_x)
01401 if python3 or type(_x) == unicode:
01402 _x = _x.encode('utf-8')
01403 length = len(_x)
01404 buff.write(struct.pack('<I%ss'%length, length, _x))
01405 length = len(_v82.points)
01406 buff.write(_struct_I.pack(length))
01407 for val4 in _v82.points:
01408 _x = val4
01409 buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
01410 length = len(_v82.channels)
01411 buff.write(_struct_I.pack(length))
01412 for val4 in _v82.channels:
01413 _x = val4.name
01414 length = len(_x)
01415 if python3 or type(_x) == unicode:
01416 _x = _x.encode('utf-8')
01417 length = len(_x)
01418 buff.write(struct.pack('<I%ss'%length, length, _x))
01419 length = len(val4.values)
01420 buff.write(_struct_I.pack(length))
01421 pattern = '<%sf'%length
01422 buff.write(val4.values.tostring())
01423 _v85 = _v75.region
01424 _v86 = _v85.cloud
01425 _v87 = _v86.header
01426 buff.write(_struct_I.pack(_v87.seq))
01427 _v88 = _v87.stamp
01428 _x = _v88
01429 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01430 _x = _v87.frame_id
01431 length = len(_x)
01432 if python3 or type(_x) == unicode:
01433 _x = _x.encode('utf-8')
01434 length = len(_x)
01435 buff.write(struct.pack('<I%ss'%length, length, _x))
01436 _x = _v86
01437 buff.write(_struct_2I.pack(_x.height, _x.width))
01438 length = len(_v86.fields)
01439 buff.write(_struct_I.pack(length))
01440 for val5 in _v86.fields:
01441 _x = val5.name
01442 length = len(_x)
01443 if python3 or type(_x) == unicode:
01444 _x = _x.encode('utf-8')
01445 length = len(_x)
01446 buff.write(struct.pack('<I%ss'%length, length, _x))
01447 _x = val5
01448 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count))
01449 _x = _v86
01450 buff.write(_struct_B2I.pack(_x.is_bigendian, _x.point_step, _x.row_step))
01451 _x = _v86.data
01452 length = len(_x)
01453 # - if encoded as a list instead, serialize as bytes instead of string
01454 if type(_x) in [list, tuple]:
01455 buff.write(struct.pack('<I%sB'%length, length, *_x))
01456 else:
01457 buff.write(struct.pack('<I%ss'%length, length, _x))
01458 buff.write(_struct_B.pack(_v86.is_dense))
01459 length = len(_v85.mask)
01460 buff.write(_struct_I.pack(length))
01461 pattern = '<%si'%length
01462 buff.write(_v85.mask.tostring())
01463 _v89 = _v85.image
01464 _v90 = _v89.header
01465 buff.write(_struct_I.pack(_v90.seq))
01466 _v91 = _v90.stamp
01467 _x = _v91
01468 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01469 _x = _v90.frame_id
01470 length = len(_x)
01471 if python3 or type(_x) == unicode:
01472 _x = _x.encode('utf-8')
01473 length = len(_x)
01474 buff.write(struct.pack('<I%ss'%length, length, _x))
01475 _x = _v89
01476 buff.write(_struct_2I.pack(_x.height, _x.width))
01477 _x = _v89.encoding
01478 length = len(_x)
01479 if python3 or type(_x) == unicode:
01480 _x = _x.encode('utf-8')
01481 length = len(_x)
01482 buff.write(struct.pack('<I%ss'%length, length, _x))
01483 _x = _v89
01484 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
01485 _x = _v89.data
01486 length = len(_x)
01487 # - if encoded as a list instead, serialize as bytes instead of string
01488 if type(_x) in [list, tuple]:
01489 buff.write(struct.pack('<I%sB'%length, length, *_x))
01490 else:
01491 buff.write(struct.pack('<I%ss'%length, length, _x))
01492 _v92 = _v85.disparity_image
01493 _v93 = _v92.header
01494 buff.write(_struct_I.pack(_v93.seq))
01495 _v94 = _v93.stamp
01496 _x = _v94
01497 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01498 _x = _v93.frame_id
01499 length = len(_x)
01500 if python3 or type(_x) == unicode:
01501 _x = _x.encode('utf-8')
01502 length = len(_x)
01503 buff.write(struct.pack('<I%ss'%length, length, _x))
01504 _x = _v92
01505 buff.write(_struct_2I.pack(_x.height, _x.width))
01506 _x = _v92.encoding
01507 length = len(_x)
01508 if python3 or type(_x) == unicode:
01509 _x = _x.encode('utf-8')
01510 length = len(_x)
01511 buff.write(struct.pack('<I%ss'%length, length, _x))
01512 _x = _v92
01513 buff.write(_struct_BI.pack(_x.is_bigendian, _x.step))
01514 _x = _v92.data
01515 length = len(_x)
01516 # - if encoded as a list instead, serialize as bytes instead of string
01517 if type(_x) in [list, tuple]:
01518 buff.write(struct.pack('<I%sB'%length, length, *_x))
01519 else:
01520 buff.write(struct.pack('<I%ss'%length, length, _x))
01521 _v95 = _v85.cam_info
01522 _v96 = _v95.header
01523 buff.write(_struct_I.pack(_v96.seq))
01524 _v97 = _v96.stamp
01525 _x = _v97
01526 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01527 _x = _v96.frame_id
01528 length = len(_x)
01529 if python3 or type(_x) == unicode:
01530 _x = _x.encode('utf-8')
01531 length = len(_x)
01532 buff.write(struct.pack('<I%ss'%length, length, _x))
01533 _x = _v95
01534 buff.write(_struct_2I.pack(_x.height, _x.width))
01535 _x = _v95.distortion_model
01536 length = len(_x)
01537 if python3 or type(_x) == unicode:
01538 _x = _x.encode('utf-8')
01539 length = len(_x)
01540 buff.write(struct.pack('<I%ss'%length, length, _x))
01541 length = len(_v95.D)
01542 buff.write(_struct_I.pack(length))
01543 pattern = '<%sd'%length
01544 buff.write(_v95.D.tostring())
01545 buff.write(_v95.K.tostring())
01546 buff.write(_v95.R.tostring())
01547 buff.write(_v95.P.tostring())
01548 _x = _v95
01549 buff.write(_struct_2I.pack(_x.binning_x, _x.binning_y))
01550 _v98 = _v95.roi
01551 _x = _v98
01552 buff.write(_struct_4IB.pack(_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify))
01553 _v99 = _v85.roi_box_pose
01554 _v100 = _v99.header
01555 buff.write(_struct_I.pack(_v100.seq))
01556 _v101 = _v100.stamp
01557 _x = _v101
01558 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01559 _x = _v100.frame_id
01560 length = len(_x)
01561 if python3 or type(_x) == unicode:
01562 _x = _x.encode('utf-8')
01563 length = len(_x)
01564 buff.write(struct.pack('<I%ss'%length, length, _x))
01565 _v102 = _v99.pose
01566 _v103 = _v102.position
01567 _x = _v103
01568 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01569 _v104 = _v102.orientation
01570 _x = _v104
01571 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01572 _v105 = _v85.roi_box_dims
01573 _x = _v105
01574 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01575 _x = _v75.collision_name
01576 length = len(_x)
01577 if python3 or type(_x) == unicode:
01578 _x = _x.encode('utf-8')
01579 length = len(_x)
01580 buff.write(struct.pack('<I%ss'%length, length, _x))
01581 _v106 = val1.pose
01582 _v107 = _v106.header
01583 buff.write(_struct_I.pack(_v107.seq))
01584 _v108 = _v107.stamp
01585 _x = _v108
01586 buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01587 _x = _v107.frame_id
01588 length = len(_x)
01589 if python3 or type(_x) == unicode:
01590 _x = _x.encode('utf-8')
01591 length = len(_x)
01592 buff.write(struct.pack('<I%ss'%length, length, _x))
01593 _v109 = _v106.pose
01594 _v110 = _v109.position
01595 _x = _v110
01596 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01597 _v111 = _v109.orientation
01598 _x = _v111
01599 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01600 length = len(val1.boundingbox)
01601 buff.write(_struct_I.pack(length))
01602 pattern = '<%sd'%length
01603 buff.write(val1.boundingbox.tostring())
01604 except struct.error as se: self._check_types(se)
01605 except TypeError as te: self._check_types(te)
01606
01607 def deserialize_numpy(self, str, numpy):
01608 """
01609 unpack serialized message in str into this message instance using numpy for array types
01610 :param str: byte array of serialized message, ``str``
01611 :param numpy: numpy python module
01612 """
01613 try:
01614 if self.objects is None:
01615 self.objects = None
01616 end = 0
01617 start = end
01618 end += 4
01619 (length,) = _struct_I.unpack(str[start:end])
01620 start = end
01621 end += length
01622 if python3:
01623 self.response = str[start:end].decode('utf-8')
01624 else:
01625 self.response = str[start:end]
01626 start = end
01627 end += 4
01628 (length,) = _struct_I.unpack(str[start:end])
01629 self.objects = []
01630 for i in range(0, length):
01631 val1 = pr2_pick_and_place_service.msg.PickPlaceObject()
01632 start = end
01633 end += 4
01634 (val1.objectid,) = _struct_i.unpack(str[start:end])
01635 _v112 = val1.object
01636 start = end
01637 end += 4
01638 (length,) = _struct_I.unpack(str[start:end])
01639 start = end
01640 end += length
01641 if python3:
01642 _v112.reference_frame_id = str[start:end].decode('utf-8')
01643 else:
01644 _v112.reference_frame_id = str[start:end]
01645 start = end
01646 end += 4
01647 (length,) = _struct_I.unpack(str[start:end])
01648 _v112.potential_models = []
01649 for i in range(0, length):
01650 val3 = household_objects_database_msgs.msg.DatabaseModelPose()
01651 start = end
01652 end += 4
01653 (val3.model_id,) = _struct_i.unpack(str[start:end])
01654 _v113 = val3.pose
01655 _v114 = _v113.header
01656 start = end
01657 end += 4
01658 (_v114.seq,) = _struct_I.unpack(str[start:end])
01659 _v115 = _v114.stamp
01660 _x = _v115
01661 start = end
01662 end += 8
01663 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01664 start = end
01665 end += 4
01666 (length,) = _struct_I.unpack(str[start:end])
01667 start = end
01668 end += length
01669 if python3:
01670 _v114.frame_id = str[start:end].decode('utf-8')
01671 else:
01672 _v114.frame_id = str[start:end]
01673 _v116 = _v113.pose
01674 _v117 = _v116.position
01675 _x = _v117
01676 start = end
01677 end += 24
01678 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01679 _v118 = _v116.orientation
01680 _x = _v118
01681 start = end
01682 end += 32
01683 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01684 start = end
01685 end += 4
01686 (val3.confidence,) = _struct_f.unpack(str[start:end])
01687 start = end
01688 end += 4
01689 (length,) = _struct_I.unpack(str[start:end])
01690 start = end
01691 end += length
01692 if python3:
01693 val3.detector_name = str[start:end].decode('utf-8')
01694 else:
01695 val3.detector_name = str[start:end]
01696 _v112.potential_models.append(val3)
01697 _v119 = _v112.cluster
01698 _v120 = _v119.header
01699 start = end
01700 end += 4
01701 (_v120.seq,) = _struct_I.unpack(str[start:end])
01702 _v121 = _v120.stamp
01703 _x = _v121
01704 start = end
01705 end += 8
01706 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01707 start = end
01708 end += 4
01709 (length,) = _struct_I.unpack(str[start:end])
01710 start = end
01711 end += length
01712 if python3:
01713 _v120.frame_id = str[start:end].decode('utf-8')
01714 else:
01715 _v120.frame_id = str[start:end]
01716 start = end
01717 end += 4
01718 (length,) = _struct_I.unpack(str[start:end])
01719 _v119.points = []
01720 for i in range(0, length):
01721 val4 = geometry_msgs.msg.Point32()
01722 _x = val4
01723 start = end
01724 end += 12
01725 (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01726 _v119.points.append(val4)
01727 start = end
01728 end += 4
01729 (length,) = _struct_I.unpack(str[start:end])
01730 _v119.channels = []
01731 for i in range(0, length):
01732 val4 = sensor_msgs.msg.ChannelFloat32()
01733 start = end
01734 end += 4
01735 (length,) = _struct_I.unpack(str[start:end])
01736 start = end
01737 end += length
01738 if python3:
01739 val4.name = str[start:end].decode('utf-8')
01740 else:
01741 val4.name = str[start:end]
01742 start = end
01743 end += 4
01744 (length,) = _struct_I.unpack(str[start:end])
01745 pattern = '<%sf'%length
01746 start = end
01747 end += struct.calcsize(pattern)
01748 val4.values = numpy.frombuffer(str[start:end], dtype=numpy.float32, count=length)
01749 _v119.channels.append(val4)
01750 _v122 = _v112.region
01751 _v123 = _v122.cloud
01752 _v124 = _v123.header
01753 start = end
01754 end += 4
01755 (_v124.seq,) = _struct_I.unpack(str[start:end])
01756 _v125 = _v124.stamp
01757 _x = _v125
01758 start = end
01759 end += 8
01760 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01761 start = end
01762 end += 4
01763 (length,) = _struct_I.unpack(str[start:end])
01764 start = end
01765 end += length
01766 if python3:
01767 _v124.frame_id = str[start:end].decode('utf-8')
01768 else:
01769 _v124.frame_id = str[start:end]
01770 _x = _v123
01771 start = end
01772 end += 8
01773 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01774 start = end
01775 end += 4
01776 (length,) = _struct_I.unpack(str[start:end])
01777 _v123.fields = []
01778 for i in range(0, length):
01779 val5 = sensor_msgs.msg.PointField()
01780 start = end
01781 end += 4
01782 (length,) = _struct_I.unpack(str[start:end])
01783 start = end
01784 end += length
01785 if python3:
01786 val5.name = str[start:end].decode('utf-8')
01787 else:
01788 val5.name = str[start:end]
01789 _x = val5
01790 start = end
01791 end += 9
01792 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end])
01793 _v123.fields.append(val5)
01794 _x = _v123
01795 start = end
01796 end += 9
01797 (_x.is_bigendian, _x.point_step, _x.row_step,) = _struct_B2I.unpack(str[start:end])
01798 _v123.is_bigendian = bool(_v123.is_bigendian)
01799 start = end
01800 end += 4
01801 (length,) = _struct_I.unpack(str[start:end])
01802 start = end
01803 end += length
01804 if python3:
01805 _v123.data = str[start:end].decode('utf-8')
01806 else:
01807 _v123.data = str[start:end]
01808 start = end
01809 end += 1
01810 (_v123.is_dense,) = _struct_B.unpack(str[start:end])
01811 _v123.is_dense = bool(_v123.is_dense)
01812 start = end
01813 end += 4
01814 (length,) = _struct_I.unpack(str[start:end])
01815 pattern = '<%si'%length
01816 start = end
01817 end += struct.calcsize(pattern)
01818 _v122.mask = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
01819 _v126 = _v122.image
01820 _v127 = _v126.header
01821 start = end
01822 end += 4
01823 (_v127.seq,) = _struct_I.unpack(str[start:end])
01824 _v128 = _v127.stamp
01825 _x = _v128
01826 start = end
01827 end += 8
01828 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01829 start = end
01830 end += 4
01831 (length,) = _struct_I.unpack(str[start:end])
01832 start = end
01833 end += length
01834 if python3:
01835 _v127.frame_id = str[start:end].decode('utf-8')
01836 else:
01837 _v127.frame_id = str[start:end]
01838 _x = _v126
01839 start = end
01840 end += 8
01841 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01842 start = end
01843 end += 4
01844 (length,) = _struct_I.unpack(str[start:end])
01845 start = end
01846 end += length
01847 if python3:
01848 _v126.encoding = str[start:end].decode('utf-8')
01849 else:
01850 _v126.encoding = str[start:end]
01851 _x = _v126
01852 start = end
01853 end += 5
01854 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01855 start = end
01856 end += 4
01857 (length,) = _struct_I.unpack(str[start:end])
01858 start = end
01859 end += length
01860 if python3:
01861 _v126.data = str[start:end].decode('utf-8')
01862 else:
01863 _v126.data = str[start:end]
01864 _v129 = _v122.disparity_image
01865 _v130 = _v129.header
01866 start = end
01867 end += 4
01868 (_v130.seq,) = _struct_I.unpack(str[start:end])
01869 _v131 = _v130.stamp
01870 _x = _v131
01871 start = end
01872 end += 8
01873 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01874 start = end
01875 end += 4
01876 (length,) = _struct_I.unpack(str[start:end])
01877 start = end
01878 end += length
01879 if python3:
01880 _v130.frame_id = str[start:end].decode('utf-8')
01881 else:
01882 _v130.frame_id = str[start:end]
01883 _x = _v129
01884 start = end
01885 end += 8
01886 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01887 start = end
01888 end += 4
01889 (length,) = _struct_I.unpack(str[start:end])
01890 start = end
01891 end += length
01892 if python3:
01893 _v129.encoding = str[start:end].decode('utf-8')
01894 else:
01895 _v129.encoding = str[start:end]
01896 _x = _v129
01897 start = end
01898 end += 5
01899 (_x.is_bigendian, _x.step,) = _struct_BI.unpack(str[start:end])
01900 start = end
01901 end += 4
01902 (length,) = _struct_I.unpack(str[start:end])
01903 start = end
01904 end += length
01905 if python3:
01906 _v129.data = str[start:end].decode('utf-8')
01907 else:
01908 _v129.data = str[start:end]
01909 _v132 = _v122.cam_info
01910 _v133 = _v132.header
01911 start = end
01912 end += 4
01913 (_v133.seq,) = _struct_I.unpack(str[start:end])
01914 _v134 = _v133.stamp
01915 _x = _v134
01916 start = end
01917 end += 8
01918 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01919 start = end
01920 end += 4
01921 (length,) = _struct_I.unpack(str[start:end])
01922 start = end
01923 end += length
01924 if python3:
01925 _v133.frame_id = str[start:end].decode('utf-8')
01926 else:
01927 _v133.frame_id = str[start:end]
01928 _x = _v132
01929 start = end
01930 end += 8
01931 (_x.height, _x.width,) = _struct_2I.unpack(str[start:end])
01932 start = end
01933 end += 4
01934 (length,) = _struct_I.unpack(str[start:end])
01935 start = end
01936 end += length
01937 if python3:
01938 _v132.distortion_model = str[start:end].decode('utf-8')
01939 else:
01940 _v132.distortion_model = str[start:end]
01941 start = end
01942 end += 4
01943 (length,) = _struct_I.unpack(str[start:end])
01944 pattern = '<%sd'%length
01945 start = end
01946 end += struct.calcsize(pattern)
01947 _v132.D = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01948 start = end
01949 end += 72
01950 _v132.K = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
01951 start = end
01952 end += 72
01953 _v132.R = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=9)
01954 start = end
01955 end += 96
01956 _v132.P = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=12)
01957 _x = _v132
01958 start = end
01959 end += 8
01960 (_x.binning_x, _x.binning_y,) = _struct_2I.unpack(str[start:end])
01961 _v135 = _v132.roi
01962 _x = _v135
01963 start = end
01964 end += 17
01965 (_x.x_offset, _x.y_offset, _x.height, _x.width, _x.do_rectify,) = _struct_4IB.unpack(str[start:end])
01966 _v135.do_rectify = bool(_v135.do_rectify)
01967 _v136 = _v122.roi_box_pose
01968 _v137 = _v136.header
01969 start = end
01970 end += 4
01971 (_v137.seq,) = _struct_I.unpack(str[start:end])
01972 _v138 = _v137.stamp
01973 _x = _v138
01974 start = end
01975 end += 8
01976 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01977 start = end
01978 end += 4
01979 (length,) = _struct_I.unpack(str[start:end])
01980 start = end
01981 end += length
01982 if python3:
01983 _v137.frame_id = str[start:end].decode('utf-8')
01984 else:
01985 _v137.frame_id = str[start:end]
01986 _v139 = _v136.pose
01987 _v140 = _v139.position
01988 _x = _v140
01989 start = end
01990 end += 24
01991 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01992 _v141 = _v139.orientation
01993 _x = _v141
01994 start = end
01995 end += 32
01996 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01997 _v142 = _v122.roi_box_dims
01998 _x = _v142
01999 start = end
02000 end += 24
02001 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02002 start = end
02003 end += 4
02004 (length,) = _struct_I.unpack(str[start:end])
02005 start = end
02006 end += length
02007 if python3:
02008 _v112.collision_name = str[start:end].decode('utf-8')
02009 else:
02010 _v112.collision_name = str[start:end]
02011 _v143 = val1.pose
02012 _v144 = _v143.header
02013 start = end
02014 end += 4
02015 (_v144.seq,) = _struct_I.unpack(str[start:end])
02016 _v145 = _v144.stamp
02017 _x = _v145
02018 start = end
02019 end += 8
02020 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02021 start = end
02022 end += 4
02023 (length,) = _struct_I.unpack(str[start:end])
02024 start = end
02025 end += length
02026 if python3:
02027 _v144.frame_id = str[start:end].decode('utf-8')
02028 else:
02029 _v144.frame_id = str[start:end]
02030 _v146 = _v143.pose
02031 _v147 = _v146.position
02032 _x = _v147
02033 start = end
02034 end += 24
02035 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02036 _v148 = _v146.orientation
02037 _x = _v148
02038 start = end
02039 end += 32
02040 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02041 start = end
02042 end += 4
02043 (length,) = _struct_I.unpack(str[start:end])
02044 pattern = '<%sd'%length
02045 start = end
02046 end += struct.calcsize(pattern)
02047 val1.boundingbox = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02048 self.objects.append(val1)
02049 return self
02050 except struct.error as e:
02051 raise genpy.DeserializationError(e) #most likely buffer underfill
02052
02053 _struct_I = genpy.struct_I
02054 _struct_IBI = struct.Struct("<IBI")
02055 _struct_B = struct.Struct("<B")
02056 _struct_12d = struct.Struct("<12d")
02057 _struct_f = struct.Struct("<f")
02058 _struct_i = struct.Struct("<i")
02059 _struct_BI = struct.Struct("<BI")
02060 _struct_3f = struct.Struct("<3f")
02061 _struct_9d = struct.Struct("<9d")
02062 _struct_B2I = struct.Struct("<B2I")
02063 _struct_4d = struct.Struct("<4d")
02064 _struct_2I = struct.Struct("<2I")
02065 _struct_4IB = struct.Struct("<4IB")
02066 _struct_3d = struct.Struct("<3d")
02067 class PickPlace(object):
02068 _type = 'pr2_pick_and_place_service/PickPlace'
02069 _md5sum = 'ed796eaf203a95fd847bb7dfd92ee619'
02070 _request_class = PickPlaceRequest
02071 _response_class = PickPlaceResponse