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


pr2_pick_and_place_service
Author(s): Sarah Osentoski
autogenerated on Sun Jan 5 2014 11:28:36