_GetPutdownPose.py
Go to the documentation of this file.
00001 """autogenerated by genpy from tidyup_msgs/GetPutdownPoseRequest.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006 
00007 import arm_navigation_msgs.msg
00008 import geometry_msgs.msg
00009 import std_msgs.msg
00010 import genpy
00011 import sensor_msgs.msg
00012 
00013 class GetPutdownPoseRequest(genpy.Message):
00014   _md5sum = "c195b6d0c74bab46e28280e9cea68cab"
00015   _type = "tidyup_msgs/GetPutdownPoseRequest"
00016   _has_header = False #flag to mark the presence of a Header object
00017   _full_text = """
00018 string static_object
00019 
00020 string putdown_object
00021 
00022 string arm
00023 
00024 arm_navigation_msgs/PlanningScene planning_scene
00025 
00026 ================================================================================
00027 MSG: arm_navigation_msgs/PlanningScene
00028 #full robot state
00029 arm_navigation_msgs/RobotState robot_state
00030 
00031 #additional frames for duplicating tf
00032 geometry_msgs/TransformStamped[] fixed_frame_transforms
00033 
00034 #full allowed collision matrix
00035 AllowedCollisionMatrix allowed_collision_matrix
00036 
00037 #allowed contacts
00038 arm_navigation_msgs/AllowedContactSpecification[] allowed_contacts
00039 
00040 #all link paddings
00041 arm_navigation_msgs/LinkPadding[] link_padding
00042 
00043 #collision objects
00044 arm_navigation_msgs/CollisionObject[] collision_objects
00045 arm_navigation_msgs/AttachedCollisionObject[] attached_collision_objects
00046 
00047 #the collision map
00048 arm_navigation_msgs/CollisionMap collision_map
00049 
00050 ================================================================================
00051 MSG: arm_navigation_msgs/RobotState
00052 # This message contains information about the robot state, i.e. the positions of its joints and links
00053 sensor_msgs/JointState joint_state
00054 arm_navigation_msgs/MultiDOFJointState multi_dof_joint_state
00055 
00056 ================================================================================
00057 MSG: sensor_msgs/JointState
00058 # This is a message that holds data to describe the state of a set of torque controlled joints. 
00059 #
00060 # The state of each joint (revolute or prismatic) is defined by:
00061 #  * the position of the joint (rad or m),
00062 #  * the velocity of the joint (rad/s or m/s) and 
00063 #  * the effort that is applied in the joint (Nm or N).
00064 #
00065 # Each joint is uniquely identified by its name
00066 # The header specifies the time at which the joint states were recorded. All the joint states
00067 # in one message have to be recorded at the same time.
00068 #
00069 # This message consists of a multiple arrays, one for each part of the joint state. 
00070 # The goal is to make each of the fields optional. When e.g. your joints have no
00071 # effort associated with them, you can leave the effort array empty. 
00072 #
00073 # All arrays in this message should have the same size, or be empty.
00074 # This is the only way to uniquely associate the joint name with the correct
00075 # states.
00076 
00077 
00078 Header header
00079 
00080 string[] name
00081 float64[] position
00082 float64[] velocity
00083 float64[] effort
00084 
00085 ================================================================================
00086 MSG: std_msgs/Header
00087 # Standard metadata for higher-level stamped data types.
00088 # This is generally used to communicate timestamped data 
00089 # in a particular coordinate frame.
00090 # 
00091 # sequence ID: consecutively increasing ID 
00092 uint32 seq
00093 #Two-integer timestamp that is expressed as:
00094 # * stamp.secs: seconds (stamp_secs) since epoch
00095 # * stamp.nsecs: nanoseconds since stamp_secs
00096 # time-handling sugar is provided by the client library
00097 time stamp
00098 #Frame this data is associated with
00099 # 0: no frame
00100 # 1: global frame
00101 string frame_id
00102 
00103 ================================================================================
00104 MSG: arm_navigation_msgs/MultiDOFJointState
00105 #A representation of a multi-dof joint state
00106 time stamp
00107 string[] joint_names
00108 string[] frame_ids
00109 string[] child_frame_ids
00110 geometry_msgs/Pose[] poses
00111 
00112 ================================================================================
00113 MSG: geometry_msgs/Pose
00114 # A representation of pose in free space, composed of postion and orientation. 
00115 Point position
00116 Quaternion orientation
00117 
00118 ================================================================================
00119 MSG: geometry_msgs/Point
00120 # This contains the position of a point in free space
00121 float64 x
00122 float64 y
00123 float64 z
00124 
00125 ================================================================================
00126 MSG: geometry_msgs/Quaternion
00127 # This represents an orientation in free space in quaternion form.
00128 
00129 float64 x
00130 float64 y
00131 float64 z
00132 float64 w
00133 
00134 ================================================================================
00135 MSG: geometry_msgs/TransformStamped
00136 # This expresses a transform from coordinate frame header.frame_id
00137 # to the coordinate frame child_frame_id
00138 #
00139 # This message is mostly used by the 
00140 # <a href="http://www.ros.org/wiki/tf">tf</a> package. 
00141 # See it's documentation for more information.
00142 
00143 Header header
00144 string child_frame_id # the frame id of the child frame
00145 Transform transform
00146 
00147 ================================================================================
00148 MSG: geometry_msgs/Transform
00149 # This represents the transform between two coordinate frames in free space.
00150 
00151 Vector3 translation
00152 Quaternion rotation
00153 
00154 ================================================================================
00155 MSG: geometry_msgs/Vector3
00156 # This represents a vector in free space. 
00157 
00158 float64 x
00159 float64 y
00160 float64 z
00161 ================================================================================
00162 MSG: arm_navigation_msgs/AllowedCollisionMatrix
00163 # the list of link names in the matrix
00164 string[] link_names
00165 
00166 # the individual entries in the allowed collision matrix
00167 # symmetric, with same order as link_names
00168 AllowedCollisionEntry[] entries
00169 
00170 ================================================================================
00171 MSG: arm_navigation_msgs/AllowedCollisionEntry
00172 # whether or not collision checking is enabled
00173 bool[] enabled
00174 
00175 ================================================================================
00176 MSG: arm_navigation_msgs/AllowedContactSpecification
00177 # The names of the regions
00178 string name
00179 
00180 # The shape of the region in the environment
00181 arm_navigation_msgs/Shape shape
00182 
00183 # The pose of the space defining the region
00184 geometry_msgs/PoseStamped pose_stamped
00185 
00186 # The set of links that will be allowed to have penetration contact within this region
00187 string[] link_names
00188 
00189 # The maximum penetration depth allowed for every link
00190 float64 penetration_depth
00191 
00192 ================================================================================
00193 MSG: arm_navigation_msgs/Shape
00194 byte SPHERE=0
00195 byte BOX=1
00196 byte CYLINDER=2
00197 byte MESH=3
00198 
00199 byte type
00200 
00201 
00202 #### define sphere, box, cylinder ####
00203 # the origin of each shape is considered at the shape's center
00204 
00205 # for sphere
00206 # radius := dimensions[0]
00207 
00208 # for cylinder
00209 # radius := dimensions[0]
00210 # length := dimensions[1]
00211 # the length is along the Z axis
00212 
00213 # for box
00214 # size_x := dimensions[0]
00215 # size_y := dimensions[1]
00216 # size_z := dimensions[2]
00217 float64[] dimensions
00218 
00219 
00220 #### define mesh ####
00221 
00222 # list of triangles; triangle k is defined by tre vertices located
00223 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]
00224 int32[] triangles
00225 geometry_msgs/Point[] vertices
00226 
00227 ================================================================================
00228 MSG: geometry_msgs/PoseStamped
00229 # A Pose with reference coordinate frame and timestamp
00230 Header header
00231 Pose pose
00232 
00233 ================================================================================
00234 MSG: arm_navigation_msgs/LinkPadding
00235 #name for the link
00236 string link_name
00237 
00238 # padding to apply to the link
00239 float64 padding
00240 
00241 ================================================================================
00242 MSG: arm_navigation_msgs/CollisionObject
00243 # a header, used for interpreting the poses
00244 Header header
00245 
00246 # the id of the object
00247 string id
00248 
00249 # The padding used for filtering points near the object.
00250 # This does not affect collision checking for the object.  
00251 # Set to negative to get zero padding.
00252 float32 padding
00253 
00254 #This contains what is to be done with the object
00255 CollisionObjectOperation operation
00256 
00257 #the shapes associated with the object
00258 arm_navigation_msgs/Shape[] shapes
00259 
00260 #the poses associated with the shapes - will be transformed using the header
00261 geometry_msgs/Pose[] poses
00262 
00263 ================================================================================
00264 MSG: arm_navigation_msgs/CollisionObjectOperation
00265 #Puts the object into the environment
00266 #or updates the object if already added
00267 byte ADD=0
00268 
00269 #Removes the object from the environment entirely
00270 byte REMOVE=1
00271 
00272 #Only valid within the context of a CollisionAttachedObject message
00273 #Will be ignored if sent with an CollisionObject message
00274 #Takes an attached object, detaches from the attached link
00275 #But adds back in as regular object
00276 byte DETACH_AND_ADD_AS_OBJECT=2
00277 
00278 #Only valid within the context of a CollisionAttachedObject message
00279 #Will be ignored if sent with an CollisionObject message
00280 #Takes current object in the environment and removes it as
00281 #a regular object
00282 byte ATTACH_AND_REMOVE_AS_OBJECT=3
00283 
00284 # Byte code for operation
00285 byte operation
00286 
00287 ================================================================================
00288 MSG: arm_navigation_msgs/AttachedCollisionObject
00289 # The CollisionObject will be attached with a fixed joint to this link
00290 # If link name is set to REMOVE_ALL_ATTACHED_OBJECTS and object.operation 
00291 # is set to REMOVE will remove all attached bodies attached to any object
00292 string link_name
00293 
00294 #Reserved for indicating that all attached objects should be removed
00295 string REMOVE_ALL_ATTACHED_OBJECTS = "all"
00296 
00297 #This contains the actual shapes and poses for the CollisionObject
00298 #to be attached to the link
00299 #If action is remove and no object.id is set, all objects
00300 #attached to the link indicated by link_name will be removed
00301 CollisionObject object
00302 
00303 # The set of links that the attached objects are allowed to touch
00304 # by default - the link_name is included by default
00305 string[] touch_links
00306 
00307 ================================================================================
00308 MSG: arm_navigation_msgs/CollisionMap
00309 #header for interpreting box positions
00310 Header header
00311 
00312 #boxes for use in collision testing
00313 OrientedBoundingBox[] boxes
00314 
00315 ================================================================================
00316 MSG: arm_navigation_msgs/OrientedBoundingBox
00317 #the center of the box
00318 geometry_msgs/Point32 center
00319 
00320 #the extents of the box, assuming the center is at the point
00321 geometry_msgs/Point32 extents
00322 
00323 #the axis of the box
00324 geometry_msgs/Point32 axis
00325 
00326 #the angle of rotation around the axis
00327 float32 angle
00328 
00329 ================================================================================
00330 MSG: geometry_msgs/Point32
00331 # This contains the position of a point in free space(with 32 bits of precision).
00332 # It is recommeded to use Point wherever possible instead of Point32.  
00333 # 
00334 # This recommendation is to promote interoperability.  
00335 #
00336 # This message is designed to take up less space when sending
00337 # lots of points at once, as in the case of a PointCloud.  
00338 
00339 float32 x
00340 float32 y
00341 float32 z
00342 """
00343   __slots__ = ['static_object','putdown_object','arm','planning_scene']
00344   _slot_types = ['string','string','string','arm_navigation_msgs/PlanningScene']
00345 
00346   def __init__(self, *args, **kwds):
00347     """
00348     Constructor. Any message fields that are implicitly/explicitly
00349     set to None will be assigned a default value. The recommend
00350     use is keyword arguments as this is more robust to future message
00351     changes.  You cannot mix in-order arguments and keyword arguments.
00352 
00353     The available fields are:
00354        static_object,putdown_object,arm,planning_scene
00355 
00356     :param args: complete set of field values, in .msg order
00357     :param kwds: use keyword arguments corresponding to message field names
00358     to set specific fields.
00359     """
00360     if args or kwds:
00361       super(GetPutdownPoseRequest, self).__init__(*args, **kwds)
00362       #message fields cannot be None, assign default values for those that are
00363       if self.static_object is None:
00364         self.static_object = ''
00365       if self.putdown_object is None:
00366         self.putdown_object = ''
00367       if self.arm is None:
00368         self.arm = ''
00369       if self.planning_scene is None:
00370         self.planning_scene = arm_navigation_msgs.msg.PlanningScene()
00371     else:
00372       self.static_object = ''
00373       self.putdown_object = ''
00374       self.arm = ''
00375       self.planning_scene = arm_navigation_msgs.msg.PlanningScene()
00376 
00377   def _get_types(self):
00378     """
00379     internal API method
00380     """
00381     return self._slot_types
00382 
00383   def serialize(self, buff):
00384     """
00385     serialize message into buffer
00386     :param buff: buffer, ``StringIO``
00387     """
00388     try:
00389       _x = self.static_object
00390       length = len(_x)
00391       if python3 or type(_x) == unicode:
00392         _x = _x.encode('utf-8')
00393         length = len(_x)
00394       buff.write(struct.pack('<I%ss'%length, length, _x))
00395       _x = self.putdown_object
00396       length = len(_x)
00397       if python3 or type(_x) == unicode:
00398         _x = _x.encode('utf-8')
00399         length = len(_x)
00400       buff.write(struct.pack('<I%ss'%length, length, _x))
00401       _x = self.arm
00402       length = len(_x)
00403       if python3 or type(_x) == unicode:
00404         _x = _x.encode('utf-8')
00405         length = len(_x)
00406       buff.write(struct.pack('<I%ss'%length, length, _x))
00407       _x = self
00408       buff.write(_struct_3I.pack(_x.planning_scene.robot_state.joint_state.header.seq, _x.planning_scene.robot_state.joint_state.header.stamp.secs, _x.planning_scene.robot_state.joint_state.header.stamp.nsecs))
00409       _x = self.planning_scene.robot_state.joint_state.header.frame_id
00410       length = len(_x)
00411       if python3 or type(_x) == unicode:
00412         _x = _x.encode('utf-8')
00413         length = len(_x)
00414       buff.write(struct.pack('<I%ss'%length, length, _x))
00415       length = len(self.planning_scene.robot_state.joint_state.name)
00416       buff.write(_struct_I.pack(length))
00417       for val1 in self.planning_scene.robot_state.joint_state.name:
00418         length = len(val1)
00419         if python3 or type(val1) == unicode:
00420           val1 = val1.encode('utf-8')
00421           length = len(val1)
00422         buff.write(struct.pack('<I%ss'%length, length, val1))
00423       length = len(self.planning_scene.robot_state.joint_state.position)
00424       buff.write(_struct_I.pack(length))
00425       pattern = '<%sd'%length
00426       buff.write(struct.pack(pattern, *self.planning_scene.robot_state.joint_state.position))
00427       length = len(self.planning_scene.robot_state.joint_state.velocity)
00428       buff.write(_struct_I.pack(length))
00429       pattern = '<%sd'%length
00430       buff.write(struct.pack(pattern, *self.planning_scene.robot_state.joint_state.velocity))
00431       length = len(self.planning_scene.robot_state.joint_state.effort)
00432       buff.write(_struct_I.pack(length))
00433       pattern = '<%sd'%length
00434       buff.write(struct.pack(pattern, *self.planning_scene.robot_state.joint_state.effort))
00435       _x = self
00436       buff.write(_struct_2I.pack(_x.planning_scene.robot_state.multi_dof_joint_state.stamp.secs, _x.planning_scene.robot_state.multi_dof_joint_state.stamp.nsecs))
00437       length = len(self.planning_scene.robot_state.multi_dof_joint_state.joint_names)
00438       buff.write(_struct_I.pack(length))
00439       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.joint_names:
00440         length = len(val1)
00441         if python3 or type(val1) == unicode:
00442           val1 = val1.encode('utf-8')
00443           length = len(val1)
00444         buff.write(struct.pack('<I%ss'%length, length, val1))
00445       length = len(self.planning_scene.robot_state.multi_dof_joint_state.frame_ids)
00446       buff.write(_struct_I.pack(length))
00447       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.frame_ids:
00448         length = len(val1)
00449         if python3 or type(val1) == unicode:
00450           val1 = val1.encode('utf-8')
00451           length = len(val1)
00452         buff.write(struct.pack('<I%ss'%length, length, val1))
00453       length = len(self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids)
00454       buff.write(_struct_I.pack(length))
00455       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids:
00456         length = len(val1)
00457         if python3 or type(val1) == unicode:
00458           val1 = val1.encode('utf-8')
00459           length = len(val1)
00460         buff.write(struct.pack('<I%ss'%length, length, val1))
00461       length = len(self.planning_scene.robot_state.multi_dof_joint_state.poses)
00462       buff.write(_struct_I.pack(length))
00463       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.poses:
00464         _v1 = val1.position
00465         _x = _v1
00466         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00467         _v2 = val1.orientation
00468         _x = _v2
00469         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00470       length = len(self.planning_scene.fixed_frame_transforms)
00471       buff.write(_struct_I.pack(length))
00472       for val1 in self.planning_scene.fixed_frame_transforms:
00473         _v3 = val1.header
00474         buff.write(_struct_I.pack(_v3.seq))
00475         _v4 = _v3.stamp
00476         _x = _v4
00477         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00478         _x = _v3.frame_id
00479         length = len(_x)
00480         if python3 or type(_x) == unicode:
00481           _x = _x.encode('utf-8')
00482           length = len(_x)
00483         buff.write(struct.pack('<I%ss'%length, length, _x))
00484         _x = val1.child_frame_id
00485         length = len(_x)
00486         if python3 or type(_x) == unicode:
00487           _x = _x.encode('utf-8')
00488           length = len(_x)
00489         buff.write(struct.pack('<I%ss'%length, length, _x))
00490         _v5 = val1.transform
00491         _v6 = _v5.translation
00492         _x = _v6
00493         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00494         _v7 = _v5.rotation
00495         _x = _v7
00496         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00497       length = len(self.planning_scene.allowed_collision_matrix.link_names)
00498       buff.write(_struct_I.pack(length))
00499       for val1 in self.planning_scene.allowed_collision_matrix.link_names:
00500         length = len(val1)
00501         if python3 or type(val1) == unicode:
00502           val1 = val1.encode('utf-8')
00503           length = len(val1)
00504         buff.write(struct.pack('<I%ss'%length, length, val1))
00505       length = len(self.planning_scene.allowed_collision_matrix.entries)
00506       buff.write(_struct_I.pack(length))
00507       for val1 in self.planning_scene.allowed_collision_matrix.entries:
00508         length = len(val1.enabled)
00509         buff.write(_struct_I.pack(length))
00510         pattern = '<%sB'%length
00511         buff.write(struct.pack(pattern, *val1.enabled))
00512       length = len(self.planning_scene.allowed_contacts)
00513       buff.write(_struct_I.pack(length))
00514       for val1 in self.planning_scene.allowed_contacts:
00515         _x = val1.name
00516         length = len(_x)
00517         if python3 or type(_x) == unicode:
00518           _x = _x.encode('utf-8')
00519           length = len(_x)
00520         buff.write(struct.pack('<I%ss'%length, length, _x))
00521         _v8 = val1.shape
00522         buff.write(_struct_b.pack(_v8.type))
00523         length = len(_v8.dimensions)
00524         buff.write(_struct_I.pack(length))
00525         pattern = '<%sd'%length
00526         buff.write(struct.pack(pattern, *_v8.dimensions))
00527         length = len(_v8.triangles)
00528         buff.write(_struct_I.pack(length))
00529         pattern = '<%si'%length
00530         buff.write(struct.pack(pattern, *_v8.triangles))
00531         length = len(_v8.vertices)
00532         buff.write(_struct_I.pack(length))
00533         for val3 in _v8.vertices:
00534           _x = val3
00535           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00536         _v9 = val1.pose_stamped
00537         _v10 = _v9.header
00538         buff.write(_struct_I.pack(_v10.seq))
00539         _v11 = _v10.stamp
00540         _x = _v11
00541         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00542         _x = _v10.frame_id
00543         length = len(_x)
00544         if python3 or type(_x) == unicode:
00545           _x = _x.encode('utf-8')
00546           length = len(_x)
00547         buff.write(struct.pack('<I%ss'%length, length, _x))
00548         _v12 = _v9.pose
00549         _v13 = _v12.position
00550         _x = _v13
00551         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00552         _v14 = _v12.orientation
00553         _x = _v14
00554         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00555         length = len(val1.link_names)
00556         buff.write(_struct_I.pack(length))
00557         for val2 in val1.link_names:
00558           length = len(val2)
00559           if python3 or type(val2) == unicode:
00560             val2 = val2.encode('utf-8')
00561             length = len(val2)
00562           buff.write(struct.pack('<I%ss'%length, length, val2))
00563         buff.write(_struct_d.pack(val1.penetration_depth))
00564       length = len(self.planning_scene.link_padding)
00565       buff.write(_struct_I.pack(length))
00566       for val1 in self.planning_scene.link_padding:
00567         _x = val1.link_name
00568         length = len(_x)
00569         if python3 or type(_x) == unicode:
00570           _x = _x.encode('utf-8')
00571           length = len(_x)
00572         buff.write(struct.pack('<I%ss'%length, length, _x))
00573         buff.write(_struct_d.pack(val1.padding))
00574       length = len(self.planning_scene.collision_objects)
00575       buff.write(_struct_I.pack(length))
00576       for val1 in self.planning_scene.collision_objects:
00577         _v15 = val1.header
00578         buff.write(_struct_I.pack(_v15.seq))
00579         _v16 = _v15.stamp
00580         _x = _v16
00581         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00582         _x = _v15.frame_id
00583         length = len(_x)
00584         if python3 or type(_x) == unicode:
00585           _x = _x.encode('utf-8')
00586           length = len(_x)
00587         buff.write(struct.pack('<I%ss'%length, length, _x))
00588         _x = val1.id
00589         length = len(_x)
00590         if python3 or type(_x) == unicode:
00591           _x = _x.encode('utf-8')
00592           length = len(_x)
00593         buff.write(struct.pack('<I%ss'%length, length, _x))
00594         buff.write(_struct_f.pack(val1.padding))
00595         _v17 = val1.operation
00596         buff.write(_struct_b.pack(_v17.operation))
00597         length = len(val1.shapes)
00598         buff.write(_struct_I.pack(length))
00599         for val2 in val1.shapes:
00600           buff.write(_struct_b.pack(val2.type))
00601           length = len(val2.dimensions)
00602           buff.write(_struct_I.pack(length))
00603           pattern = '<%sd'%length
00604           buff.write(struct.pack(pattern, *val2.dimensions))
00605           length = len(val2.triangles)
00606           buff.write(_struct_I.pack(length))
00607           pattern = '<%si'%length
00608           buff.write(struct.pack(pattern, *val2.triangles))
00609           length = len(val2.vertices)
00610           buff.write(_struct_I.pack(length))
00611           for val3 in val2.vertices:
00612             _x = val3
00613             buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00614         length = len(val1.poses)
00615         buff.write(_struct_I.pack(length))
00616         for val2 in val1.poses:
00617           _v18 = val2.position
00618           _x = _v18
00619           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00620           _v19 = val2.orientation
00621           _x = _v19
00622           buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00623       length = len(self.planning_scene.attached_collision_objects)
00624       buff.write(_struct_I.pack(length))
00625       for val1 in self.planning_scene.attached_collision_objects:
00626         _x = val1.link_name
00627         length = len(_x)
00628         if python3 or type(_x) == unicode:
00629           _x = _x.encode('utf-8')
00630           length = len(_x)
00631         buff.write(struct.pack('<I%ss'%length, length, _x))
00632         _v20 = val1.object
00633         _v21 = _v20.header
00634         buff.write(_struct_I.pack(_v21.seq))
00635         _v22 = _v21.stamp
00636         _x = _v22
00637         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
00638         _x = _v21.frame_id
00639         length = len(_x)
00640         if python3 or type(_x) == unicode:
00641           _x = _x.encode('utf-8')
00642           length = len(_x)
00643         buff.write(struct.pack('<I%ss'%length, length, _x))
00644         _x = _v20.id
00645         length = len(_x)
00646         if python3 or type(_x) == unicode:
00647           _x = _x.encode('utf-8')
00648           length = len(_x)
00649         buff.write(struct.pack('<I%ss'%length, length, _x))
00650         buff.write(_struct_f.pack(_v20.padding))
00651         _v23 = _v20.operation
00652         buff.write(_struct_b.pack(_v23.operation))
00653         length = len(_v20.shapes)
00654         buff.write(_struct_I.pack(length))
00655         for val3 in _v20.shapes:
00656           buff.write(_struct_b.pack(val3.type))
00657           length = len(val3.dimensions)
00658           buff.write(_struct_I.pack(length))
00659           pattern = '<%sd'%length
00660           buff.write(struct.pack(pattern, *val3.dimensions))
00661           length = len(val3.triangles)
00662           buff.write(_struct_I.pack(length))
00663           pattern = '<%si'%length
00664           buff.write(struct.pack(pattern, *val3.triangles))
00665           length = len(val3.vertices)
00666           buff.write(_struct_I.pack(length))
00667           for val4 in val3.vertices:
00668             _x = val4
00669             buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00670         length = len(_v20.poses)
00671         buff.write(_struct_I.pack(length))
00672         for val3 in _v20.poses:
00673           _v24 = val3.position
00674           _x = _v24
00675           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00676           _v25 = val3.orientation
00677           _x = _v25
00678           buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00679         length = len(val1.touch_links)
00680         buff.write(_struct_I.pack(length))
00681         for val2 in val1.touch_links:
00682           length = len(val2)
00683           if python3 or type(val2) == unicode:
00684             val2 = val2.encode('utf-8')
00685             length = len(val2)
00686           buff.write(struct.pack('<I%ss'%length, length, val2))
00687       _x = self
00688       buff.write(_struct_3I.pack(_x.planning_scene.collision_map.header.seq, _x.planning_scene.collision_map.header.stamp.secs, _x.planning_scene.collision_map.header.stamp.nsecs))
00689       _x = self.planning_scene.collision_map.header.frame_id
00690       length = len(_x)
00691       if python3 or type(_x) == unicode:
00692         _x = _x.encode('utf-8')
00693         length = len(_x)
00694       buff.write(struct.pack('<I%ss'%length, length, _x))
00695       length = len(self.planning_scene.collision_map.boxes)
00696       buff.write(_struct_I.pack(length))
00697       for val1 in self.planning_scene.collision_map.boxes:
00698         _v26 = val1.center
00699         _x = _v26
00700         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
00701         _v27 = val1.extents
00702         _x = _v27
00703         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
00704         _v28 = val1.axis
00705         _x = _v28
00706         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
00707         buff.write(_struct_f.pack(val1.angle))
00708     except struct.error as se: self._check_types(se)
00709     except TypeError as te: self._check_types(te)
00710 
00711   def deserialize(self, str):
00712     """
00713     unpack serialized message in str into this message instance
00714     :param str: byte array of serialized message, ``str``
00715     """
00716     try:
00717       if self.planning_scene is None:
00718         self.planning_scene = arm_navigation_msgs.msg.PlanningScene()
00719       end = 0
00720       start = end
00721       end += 4
00722       (length,) = _struct_I.unpack(str[start:end])
00723       start = end
00724       end += length
00725       if python3:
00726         self.static_object = str[start:end].decode('utf-8')
00727       else:
00728         self.static_object = str[start:end]
00729       start = end
00730       end += 4
00731       (length,) = _struct_I.unpack(str[start:end])
00732       start = end
00733       end += length
00734       if python3:
00735         self.putdown_object = str[start:end].decode('utf-8')
00736       else:
00737         self.putdown_object = str[start:end]
00738       start = end
00739       end += 4
00740       (length,) = _struct_I.unpack(str[start:end])
00741       start = end
00742       end += length
00743       if python3:
00744         self.arm = str[start:end].decode('utf-8')
00745       else:
00746         self.arm = str[start:end]
00747       _x = self
00748       start = end
00749       end += 12
00750       (_x.planning_scene.robot_state.joint_state.header.seq, _x.planning_scene.robot_state.joint_state.header.stamp.secs, _x.planning_scene.robot_state.joint_state.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00751       start = end
00752       end += 4
00753       (length,) = _struct_I.unpack(str[start:end])
00754       start = end
00755       end += length
00756       if python3:
00757         self.planning_scene.robot_state.joint_state.header.frame_id = str[start:end].decode('utf-8')
00758       else:
00759         self.planning_scene.robot_state.joint_state.header.frame_id = str[start:end]
00760       start = end
00761       end += 4
00762       (length,) = _struct_I.unpack(str[start:end])
00763       self.planning_scene.robot_state.joint_state.name = []
00764       for i in range(0, length):
00765         start = end
00766         end += 4
00767         (length,) = _struct_I.unpack(str[start:end])
00768         start = end
00769         end += length
00770         if python3:
00771           val1 = str[start:end].decode('utf-8')
00772         else:
00773           val1 = str[start:end]
00774         self.planning_scene.robot_state.joint_state.name.append(val1)
00775       start = end
00776       end += 4
00777       (length,) = _struct_I.unpack(str[start:end])
00778       pattern = '<%sd'%length
00779       start = end
00780       end += struct.calcsize(pattern)
00781       self.planning_scene.robot_state.joint_state.position = struct.unpack(pattern, str[start:end])
00782       start = end
00783       end += 4
00784       (length,) = _struct_I.unpack(str[start:end])
00785       pattern = '<%sd'%length
00786       start = end
00787       end += struct.calcsize(pattern)
00788       self.planning_scene.robot_state.joint_state.velocity = struct.unpack(pattern, str[start:end])
00789       start = end
00790       end += 4
00791       (length,) = _struct_I.unpack(str[start:end])
00792       pattern = '<%sd'%length
00793       start = end
00794       end += struct.calcsize(pattern)
00795       self.planning_scene.robot_state.joint_state.effort = struct.unpack(pattern, str[start:end])
00796       _x = self
00797       start = end
00798       end += 8
00799       (_x.planning_scene.robot_state.multi_dof_joint_state.stamp.secs, _x.planning_scene.robot_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00800       start = end
00801       end += 4
00802       (length,) = _struct_I.unpack(str[start:end])
00803       self.planning_scene.robot_state.multi_dof_joint_state.joint_names = []
00804       for i in range(0, length):
00805         start = end
00806         end += 4
00807         (length,) = _struct_I.unpack(str[start:end])
00808         start = end
00809         end += length
00810         if python3:
00811           val1 = str[start:end].decode('utf-8')
00812         else:
00813           val1 = str[start:end]
00814         self.planning_scene.robot_state.multi_dof_joint_state.joint_names.append(val1)
00815       start = end
00816       end += 4
00817       (length,) = _struct_I.unpack(str[start:end])
00818       self.planning_scene.robot_state.multi_dof_joint_state.frame_ids = []
00819       for i in range(0, length):
00820         start = end
00821         end += 4
00822         (length,) = _struct_I.unpack(str[start:end])
00823         start = end
00824         end += length
00825         if python3:
00826           val1 = str[start:end].decode('utf-8')
00827         else:
00828           val1 = str[start:end]
00829         self.planning_scene.robot_state.multi_dof_joint_state.frame_ids.append(val1)
00830       start = end
00831       end += 4
00832       (length,) = _struct_I.unpack(str[start:end])
00833       self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids = []
00834       for i in range(0, length):
00835         start = end
00836         end += 4
00837         (length,) = _struct_I.unpack(str[start:end])
00838         start = end
00839         end += length
00840         if python3:
00841           val1 = str[start:end].decode('utf-8')
00842         else:
00843           val1 = str[start:end]
00844         self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids.append(val1)
00845       start = end
00846       end += 4
00847       (length,) = _struct_I.unpack(str[start:end])
00848       self.planning_scene.robot_state.multi_dof_joint_state.poses = []
00849       for i in range(0, length):
00850         val1 = geometry_msgs.msg.Pose()
00851         _v29 = val1.position
00852         _x = _v29
00853         start = end
00854         end += 24
00855         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00856         _v30 = val1.orientation
00857         _x = _v30
00858         start = end
00859         end += 32
00860         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00861         self.planning_scene.robot_state.multi_dof_joint_state.poses.append(val1)
00862       start = end
00863       end += 4
00864       (length,) = _struct_I.unpack(str[start:end])
00865       self.planning_scene.fixed_frame_transforms = []
00866       for i in range(0, length):
00867         val1 = geometry_msgs.msg.TransformStamped()
00868         _v31 = val1.header
00869         start = end
00870         end += 4
00871         (_v31.seq,) = _struct_I.unpack(str[start:end])
00872         _v32 = _v31.stamp
00873         _x = _v32
00874         start = end
00875         end += 8
00876         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00877         start = end
00878         end += 4
00879         (length,) = _struct_I.unpack(str[start:end])
00880         start = end
00881         end += length
00882         if python3:
00883           _v31.frame_id = str[start:end].decode('utf-8')
00884         else:
00885           _v31.frame_id = str[start:end]
00886         start = end
00887         end += 4
00888         (length,) = _struct_I.unpack(str[start:end])
00889         start = end
00890         end += length
00891         if python3:
00892           val1.child_frame_id = str[start:end].decode('utf-8')
00893         else:
00894           val1.child_frame_id = str[start:end]
00895         _v33 = val1.transform
00896         _v34 = _v33.translation
00897         _x = _v34
00898         start = end
00899         end += 24
00900         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00901         _v35 = _v33.rotation
00902         _x = _v35
00903         start = end
00904         end += 32
00905         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00906         self.planning_scene.fixed_frame_transforms.append(val1)
00907       start = end
00908       end += 4
00909       (length,) = _struct_I.unpack(str[start:end])
00910       self.planning_scene.allowed_collision_matrix.link_names = []
00911       for i in range(0, length):
00912         start = end
00913         end += 4
00914         (length,) = _struct_I.unpack(str[start:end])
00915         start = end
00916         end += length
00917         if python3:
00918           val1 = str[start:end].decode('utf-8')
00919         else:
00920           val1 = str[start:end]
00921         self.planning_scene.allowed_collision_matrix.link_names.append(val1)
00922       start = end
00923       end += 4
00924       (length,) = _struct_I.unpack(str[start:end])
00925       self.planning_scene.allowed_collision_matrix.entries = []
00926       for i in range(0, length):
00927         val1 = arm_navigation_msgs.msg.AllowedCollisionEntry()
00928         start = end
00929         end += 4
00930         (length,) = _struct_I.unpack(str[start:end])
00931         pattern = '<%sB'%length
00932         start = end
00933         end += struct.calcsize(pattern)
00934         val1.enabled = struct.unpack(pattern, str[start:end])
00935         val1.enabled = map(bool, val1.enabled)
00936         self.planning_scene.allowed_collision_matrix.entries.append(val1)
00937       start = end
00938       end += 4
00939       (length,) = _struct_I.unpack(str[start:end])
00940       self.planning_scene.allowed_contacts = []
00941       for i in range(0, length):
00942         val1 = arm_navigation_msgs.msg.AllowedContactSpecification()
00943         start = end
00944         end += 4
00945         (length,) = _struct_I.unpack(str[start:end])
00946         start = end
00947         end += length
00948         if python3:
00949           val1.name = str[start:end].decode('utf-8')
00950         else:
00951           val1.name = str[start:end]
00952         _v36 = val1.shape
00953         start = end
00954         end += 1
00955         (_v36.type,) = _struct_b.unpack(str[start:end])
00956         start = end
00957         end += 4
00958         (length,) = _struct_I.unpack(str[start:end])
00959         pattern = '<%sd'%length
00960         start = end
00961         end += struct.calcsize(pattern)
00962         _v36.dimensions = struct.unpack(pattern, str[start:end])
00963         start = end
00964         end += 4
00965         (length,) = _struct_I.unpack(str[start:end])
00966         pattern = '<%si'%length
00967         start = end
00968         end += struct.calcsize(pattern)
00969         _v36.triangles = struct.unpack(pattern, str[start:end])
00970         start = end
00971         end += 4
00972         (length,) = _struct_I.unpack(str[start:end])
00973         _v36.vertices = []
00974         for i in range(0, length):
00975           val3 = geometry_msgs.msg.Point()
00976           _x = val3
00977           start = end
00978           end += 24
00979           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00980           _v36.vertices.append(val3)
00981         _v37 = val1.pose_stamped
00982         _v38 = _v37.header
00983         start = end
00984         end += 4
00985         (_v38.seq,) = _struct_I.unpack(str[start:end])
00986         _v39 = _v38.stamp
00987         _x = _v39
00988         start = end
00989         end += 8
00990         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
00991         start = end
00992         end += 4
00993         (length,) = _struct_I.unpack(str[start:end])
00994         start = end
00995         end += length
00996         if python3:
00997           _v38.frame_id = str[start:end].decode('utf-8')
00998         else:
00999           _v38.frame_id = str[start:end]
01000         _v40 = _v37.pose
01001         _v41 = _v40.position
01002         _x = _v41
01003         start = end
01004         end += 24
01005         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01006         _v42 = _v40.orientation
01007         _x = _v42
01008         start = end
01009         end += 32
01010         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01011         start = end
01012         end += 4
01013         (length,) = _struct_I.unpack(str[start:end])
01014         val1.link_names = []
01015         for i in range(0, length):
01016           start = end
01017           end += 4
01018           (length,) = _struct_I.unpack(str[start:end])
01019           start = end
01020           end += length
01021           if python3:
01022             val2 = str[start:end].decode('utf-8')
01023           else:
01024             val2 = str[start:end]
01025           val1.link_names.append(val2)
01026         start = end
01027         end += 8
01028         (val1.penetration_depth,) = _struct_d.unpack(str[start:end])
01029         self.planning_scene.allowed_contacts.append(val1)
01030       start = end
01031       end += 4
01032       (length,) = _struct_I.unpack(str[start:end])
01033       self.planning_scene.link_padding = []
01034       for i in range(0, length):
01035         val1 = arm_navigation_msgs.msg.LinkPadding()
01036         start = end
01037         end += 4
01038         (length,) = _struct_I.unpack(str[start:end])
01039         start = end
01040         end += length
01041         if python3:
01042           val1.link_name = str[start:end].decode('utf-8')
01043         else:
01044           val1.link_name = str[start:end]
01045         start = end
01046         end += 8
01047         (val1.padding,) = _struct_d.unpack(str[start:end])
01048         self.planning_scene.link_padding.append(val1)
01049       start = end
01050       end += 4
01051       (length,) = _struct_I.unpack(str[start:end])
01052       self.planning_scene.collision_objects = []
01053       for i in range(0, length):
01054         val1 = arm_navigation_msgs.msg.CollisionObject()
01055         _v43 = val1.header
01056         start = end
01057         end += 4
01058         (_v43.seq,) = _struct_I.unpack(str[start:end])
01059         _v44 = _v43.stamp
01060         _x = _v44
01061         start = end
01062         end += 8
01063         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01064         start = end
01065         end += 4
01066         (length,) = _struct_I.unpack(str[start:end])
01067         start = end
01068         end += length
01069         if python3:
01070           _v43.frame_id = str[start:end].decode('utf-8')
01071         else:
01072           _v43.frame_id = 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           val1.id = str[start:end].decode('utf-8')
01080         else:
01081           val1.id = str[start:end]
01082         start = end
01083         end += 4
01084         (val1.padding,) = _struct_f.unpack(str[start:end])
01085         _v45 = val1.operation
01086         start = end
01087         end += 1
01088         (_v45.operation,) = _struct_b.unpack(str[start:end])
01089         start = end
01090         end += 4
01091         (length,) = _struct_I.unpack(str[start:end])
01092         val1.shapes = []
01093         for i in range(0, length):
01094           val2 = arm_navigation_msgs.msg.Shape()
01095           start = end
01096           end += 1
01097           (val2.type,) = _struct_b.unpack(str[start:end])
01098           start = end
01099           end += 4
01100           (length,) = _struct_I.unpack(str[start:end])
01101           pattern = '<%sd'%length
01102           start = end
01103           end += struct.calcsize(pattern)
01104           val2.dimensions = struct.unpack(pattern, str[start:end])
01105           start = end
01106           end += 4
01107           (length,) = _struct_I.unpack(str[start:end])
01108           pattern = '<%si'%length
01109           start = end
01110           end += struct.calcsize(pattern)
01111           val2.triangles = struct.unpack(pattern, str[start:end])
01112           start = end
01113           end += 4
01114           (length,) = _struct_I.unpack(str[start:end])
01115           val2.vertices = []
01116           for i in range(0, length):
01117             val3 = geometry_msgs.msg.Point()
01118             _x = val3
01119             start = end
01120             end += 24
01121             (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01122             val2.vertices.append(val3)
01123           val1.shapes.append(val2)
01124         start = end
01125         end += 4
01126         (length,) = _struct_I.unpack(str[start:end])
01127         val1.poses = []
01128         for i in range(0, length):
01129           val2 = geometry_msgs.msg.Pose()
01130           _v46 = val2.position
01131           _x = _v46
01132           start = end
01133           end += 24
01134           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01135           _v47 = val2.orientation
01136           _x = _v47
01137           start = end
01138           end += 32
01139           (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01140           val1.poses.append(val2)
01141         self.planning_scene.collision_objects.append(val1)
01142       start = end
01143       end += 4
01144       (length,) = _struct_I.unpack(str[start:end])
01145       self.planning_scene.attached_collision_objects = []
01146       for i in range(0, length):
01147         val1 = arm_navigation_msgs.msg.AttachedCollisionObject()
01148         start = end
01149         end += 4
01150         (length,) = _struct_I.unpack(str[start:end])
01151         start = end
01152         end += length
01153         if python3:
01154           val1.link_name = str[start:end].decode('utf-8')
01155         else:
01156           val1.link_name = str[start:end]
01157         _v48 = val1.object
01158         _v49 = _v48.header
01159         start = end
01160         end += 4
01161         (_v49.seq,) = _struct_I.unpack(str[start:end])
01162         _v50 = _v49.stamp
01163         _x = _v50
01164         start = end
01165         end += 8
01166         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01167         start = end
01168         end += 4
01169         (length,) = _struct_I.unpack(str[start:end])
01170         start = end
01171         end += length
01172         if python3:
01173           _v49.frame_id = str[start:end].decode('utf-8')
01174         else:
01175           _v49.frame_id = str[start:end]
01176         start = end
01177         end += 4
01178         (length,) = _struct_I.unpack(str[start:end])
01179         start = end
01180         end += length
01181         if python3:
01182           _v48.id = str[start:end].decode('utf-8')
01183         else:
01184           _v48.id = str[start:end]
01185         start = end
01186         end += 4
01187         (_v48.padding,) = _struct_f.unpack(str[start:end])
01188         _v51 = _v48.operation
01189         start = end
01190         end += 1
01191         (_v51.operation,) = _struct_b.unpack(str[start:end])
01192         start = end
01193         end += 4
01194         (length,) = _struct_I.unpack(str[start:end])
01195         _v48.shapes = []
01196         for i in range(0, length):
01197           val3 = arm_navigation_msgs.msg.Shape()
01198           start = end
01199           end += 1
01200           (val3.type,) = _struct_b.unpack(str[start:end])
01201           start = end
01202           end += 4
01203           (length,) = _struct_I.unpack(str[start:end])
01204           pattern = '<%sd'%length
01205           start = end
01206           end += struct.calcsize(pattern)
01207           val3.dimensions = struct.unpack(pattern, str[start:end])
01208           start = end
01209           end += 4
01210           (length,) = _struct_I.unpack(str[start:end])
01211           pattern = '<%si'%length
01212           start = end
01213           end += struct.calcsize(pattern)
01214           val3.triangles = struct.unpack(pattern, str[start:end])
01215           start = end
01216           end += 4
01217           (length,) = _struct_I.unpack(str[start:end])
01218           val3.vertices = []
01219           for i in range(0, length):
01220             val4 = geometry_msgs.msg.Point()
01221             _x = val4
01222             start = end
01223             end += 24
01224             (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01225             val3.vertices.append(val4)
01226           _v48.shapes.append(val3)
01227         start = end
01228         end += 4
01229         (length,) = _struct_I.unpack(str[start:end])
01230         _v48.poses = []
01231         for i in range(0, length):
01232           val3 = geometry_msgs.msg.Pose()
01233           _v52 = val3.position
01234           _x = _v52
01235           start = end
01236           end += 24
01237           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01238           _v53 = val3.orientation
01239           _x = _v53
01240           start = end
01241           end += 32
01242           (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01243           _v48.poses.append(val3)
01244         start = end
01245         end += 4
01246         (length,) = _struct_I.unpack(str[start:end])
01247         val1.touch_links = []
01248         for i in range(0, length):
01249           start = end
01250           end += 4
01251           (length,) = _struct_I.unpack(str[start:end])
01252           start = end
01253           end += length
01254           if python3:
01255             val2 = str[start:end].decode('utf-8')
01256           else:
01257             val2 = str[start:end]
01258           val1.touch_links.append(val2)
01259         self.planning_scene.attached_collision_objects.append(val1)
01260       _x = self
01261       start = end
01262       end += 12
01263       (_x.planning_scene.collision_map.header.seq, _x.planning_scene.collision_map.header.stamp.secs, _x.planning_scene.collision_map.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01264       start = end
01265       end += 4
01266       (length,) = _struct_I.unpack(str[start:end])
01267       start = end
01268       end += length
01269       if python3:
01270         self.planning_scene.collision_map.header.frame_id = str[start:end].decode('utf-8')
01271       else:
01272         self.planning_scene.collision_map.header.frame_id = str[start:end]
01273       start = end
01274       end += 4
01275       (length,) = _struct_I.unpack(str[start:end])
01276       self.planning_scene.collision_map.boxes = []
01277       for i in range(0, length):
01278         val1 = arm_navigation_msgs.msg.OrientedBoundingBox()
01279         _v54 = val1.center
01280         _x = _v54
01281         start = end
01282         end += 12
01283         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01284         _v55 = val1.extents
01285         _x = _v55
01286         start = end
01287         end += 12
01288         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01289         _v56 = val1.axis
01290         _x = _v56
01291         start = end
01292         end += 12
01293         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
01294         start = end
01295         end += 4
01296         (val1.angle,) = _struct_f.unpack(str[start:end])
01297         self.planning_scene.collision_map.boxes.append(val1)
01298       return self
01299     except struct.error as e:
01300       raise genpy.DeserializationError(e) #most likely buffer underfill
01301 
01302 
01303   def serialize_numpy(self, buff, numpy):
01304     """
01305     serialize message with numpy array types into buffer
01306     :param buff: buffer, ``StringIO``
01307     :param numpy: numpy python module
01308     """
01309     try:
01310       _x = self.static_object
01311       length = len(_x)
01312       if python3 or type(_x) == unicode:
01313         _x = _x.encode('utf-8')
01314         length = len(_x)
01315       buff.write(struct.pack('<I%ss'%length, length, _x))
01316       _x = self.putdown_object
01317       length = len(_x)
01318       if python3 or type(_x) == unicode:
01319         _x = _x.encode('utf-8')
01320         length = len(_x)
01321       buff.write(struct.pack('<I%ss'%length, length, _x))
01322       _x = self.arm
01323       length = len(_x)
01324       if python3 or type(_x) == unicode:
01325         _x = _x.encode('utf-8')
01326         length = len(_x)
01327       buff.write(struct.pack('<I%ss'%length, length, _x))
01328       _x = self
01329       buff.write(_struct_3I.pack(_x.planning_scene.robot_state.joint_state.header.seq, _x.planning_scene.robot_state.joint_state.header.stamp.secs, _x.planning_scene.robot_state.joint_state.header.stamp.nsecs))
01330       _x = self.planning_scene.robot_state.joint_state.header.frame_id
01331       length = len(_x)
01332       if python3 or type(_x) == unicode:
01333         _x = _x.encode('utf-8')
01334         length = len(_x)
01335       buff.write(struct.pack('<I%ss'%length, length, _x))
01336       length = len(self.planning_scene.robot_state.joint_state.name)
01337       buff.write(_struct_I.pack(length))
01338       for val1 in self.planning_scene.robot_state.joint_state.name:
01339         length = len(val1)
01340         if python3 or type(val1) == unicode:
01341           val1 = val1.encode('utf-8')
01342           length = len(val1)
01343         buff.write(struct.pack('<I%ss'%length, length, val1))
01344       length = len(self.planning_scene.robot_state.joint_state.position)
01345       buff.write(_struct_I.pack(length))
01346       pattern = '<%sd'%length
01347       buff.write(self.planning_scene.robot_state.joint_state.position.tostring())
01348       length = len(self.planning_scene.robot_state.joint_state.velocity)
01349       buff.write(_struct_I.pack(length))
01350       pattern = '<%sd'%length
01351       buff.write(self.planning_scene.robot_state.joint_state.velocity.tostring())
01352       length = len(self.planning_scene.robot_state.joint_state.effort)
01353       buff.write(_struct_I.pack(length))
01354       pattern = '<%sd'%length
01355       buff.write(self.planning_scene.robot_state.joint_state.effort.tostring())
01356       _x = self
01357       buff.write(_struct_2I.pack(_x.planning_scene.robot_state.multi_dof_joint_state.stamp.secs, _x.planning_scene.robot_state.multi_dof_joint_state.stamp.nsecs))
01358       length = len(self.planning_scene.robot_state.multi_dof_joint_state.joint_names)
01359       buff.write(_struct_I.pack(length))
01360       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.joint_names:
01361         length = len(val1)
01362         if python3 or type(val1) == unicode:
01363           val1 = val1.encode('utf-8')
01364           length = len(val1)
01365         buff.write(struct.pack('<I%ss'%length, length, val1))
01366       length = len(self.planning_scene.robot_state.multi_dof_joint_state.frame_ids)
01367       buff.write(_struct_I.pack(length))
01368       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.frame_ids:
01369         length = len(val1)
01370         if python3 or type(val1) == unicode:
01371           val1 = val1.encode('utf-8')
01372           length = len(val1)
01373         buff.write(struct.pack('<I%ss'%length, length, val1))
01374       length = len(self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids)
01375       buff.write(_struct_I.pack(length))
01376       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids:
01377         length = len(val1)
01378         if python3 or type(val1) == unicode:
01379           val1 = val1.encode('utf-8')
01380           length = len(val1)
01381         buff.write(struct.pack('<I%ss'%length, length, val1))
01382       length = len(self.planning_scene.robot_state.multi_dof_joint_state.poses)
01383       buff.write(_struct_I.pack(length))
01384       for val1 in self.planning_scene.robot_state.multi_dof_joint_state.poses:
01385         _v57 = val1.position
01386         _x = _v57
01387         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01388         _v58 = val1.orientation
01389         _x = _v58
01390         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01391       length = len(self.planning_scene.fixed_frame_transforms)
01392       buff.write(_struct_I.pack(length))
01393       for val1 in self.planning_scene.fixed_frame_transforms:
01394         _v59 = val1.header
01395         buff.write(_struct_I.pack(_v59.seq))
01396         _v60 = _v59.stamp
01397         _x = _v60
01398         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01399         _x = _v59.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         _x = val1.child_frame_id
01406         length = len(_x)
01407         if python3 or type(_x) == unicode:
01408           _x = _x.encode('utf-8')
01409           length = len(_x)
01410         buff.write(struct.pack('<I%ss'%length, length, _x))
01411         _v61 = val1.transform
01412         _v62 = _v61.translation
01413         _x = _v62
01414         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01415         _v63 = _v61.rotation
01416         _x = _v63
01417         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01418       length = len(self.planning_scene.allowed_collision_matrix.link_names)
01419       buff.write(_struct_I.pack(length))
01420       for val1 in self.planning_scene.allowed_collision_matrix.link_names:
01421         length = len(val1)
01422         if python3 or type(val1) == unicode:
01423           val1 = val1.encode('utf-8')
01424           length = len(val1)
01425         buff.write(struct.pack('<I%ss'%length, length, val1))
01426       length = len(self.planning_scene.allowed_collision_matrix.entries)
01427       buff.write(_struct_I.pack(length))
01428       for val1 in self.planning_scene.allowed_collision_matrix.entries:
01429         length = len(val1.enabled)
01430         buff.write(_struct_I.pack(length))
01431         pattern = '<%sB'%length
01432         buff.write(val1.enabled.tostring())
01433       length = len(self.planning_scene.allowed_contacts)
01434       buff.write(_struct_I.pack(length))
01435       for val1 in self.planning_scene.allowed_contacts:
01436         _x = val1.name
01437         length = len(_x)
01438         if python3 or type(_x) == unicode:
01439           _x = _x.encode('utf-8')
01440           length = len(_x)
01441         buff.write(struct.pack('<I%ss'%length, length, _x))
01442         _v64 = val1.shape
01443         buff.write(_struct_b.pack(_v64.type))
01444         length = len(_v64.dimensions)
01445         buff.write(_struct_I.pack(length))
01446         pattern = '<%sd'%length
01447         buff.write(_v64.dimensions.tostring())
01448         length = len(_v64.triangles)
01449         buff.write(_struct_I.pack(length))
01450         pattern = '<%si'%length
01451         buff.write(_v64.triangles.tostring())
01452         length = len(_v64.vertices)
01453         buff.write(_struct_I.pack(length))
01454         for val3 in _v64.vertices:
01455           _x = val3
01456           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01457         _v65 = val1.pose_stamped
01458         _v66 = _v65.header
01459         buff.write(_struct_I.pack(_v66.seq))
01460         _v67 = _v66.stamp
01461         _x = _v67
01462         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01463         _x = _v66.frame_id
01464         length = len(_x)
01465         if python3 or type(_x) == unicode:
01466           _x = _x.encode('utf-8')
01467           length = len(_x)
01468         buff.write(struct.pack('<I%ss'%length, length, _x))
01469         _v68 = _v65.pose
01470         _v69 = _v68.position
01471         _x = _v69
01472         buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01473         _v70 = _v68.orientation
01474         _x = _v70
01475         buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01476         length = len(val1.link_names)
01477         buff.write(_struct_I.pack(length))
01478         for val2 in val1.link_names:
01479           length = len(val2)
01480           if python3 or type(val2) == unicode:
01481             val2 = val2.encode('utf-8')
01482             length = len(val2)
01483           buff.write(struct.pack('<I%ss'%length, length, val2))
01484         buff.write(_struct_d.pack(val1.penetration_depth))
01485       length = len(self.planning_scene.link_padding)
01486       buff.write(_struct_I.pack(length))
01487       for val1 in self.planning_scene.link_padding:
01488         _x = val1.link_name
01489         length = len(_x)
01490         if python3 or type(_x) == unicode:
01491           _x = _x.encode('utf-8')
01492           length = len(_x)
01493         buff.write(struct.pack('<I%ss'%length, length, _x))
01494         buff.write(_struct_d.pack(val1.padding))
01495       length = len(self.planning_scene.collision_objects)
01496       buff.write(_struct_I.pack(length))
01497       for val1 in self.planning_scene.collision_objects:
01498         _v71 = val1.header
01499         buff.write(_struct_I.pack(_v71.seq))
01500         _v72 = _v71.stamp
01501         _x = _v72
01502         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01503         _x = _v71.frame_id
01504         length = len(_x)
01505         if python3 or type(_x) == unicode:
01506           _x = _x.encode('utf-8')
01507           length = len(_x)
01508         buff.write(struct.pack('<I%ss'%length, length, _x))
01509         _x = val1.id
01510         length = len(_x)
01511         if python3 or type(_x) == unicode:
01512           _x = _x.encode('utf-8')
01513           length = len(_x)
01514         buff.write(struct.pack('<I%ss'%length, length, _x))
01515         buff.write(_struct_f.pack(val1.padding))
01516         _v73 = val1.operation
01517         buff.write(_struct_b.pack(_v73.operation))
01518         length = len(val1.shapes)
01519         buff.write(_struct_I.pack(length))
01520         for val2 in val1.shapes:
01521           buff.write(_struct_b.pack(val2.type))
01522           length = len(val2.dimensions)
01523           buff.write(_struct_I.pack(length))
01524           pattern = '<%sd'%length
01525           buff.write(val2.dimensions.tostring())
01526           length = len(val2.triangles)
01527           buff.write(_struct_I.pack(length))
01528           pattern = '<%si'%length
01529           buff.write(val2.triangles.tostring())
01530           length = len(val2.vertices)
01531           buff.write(_struct_I.pack(length))
01532           for val3 in val2.vertices:
01533             _x = val3
01534             buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01535         length = len(val1.poses)
01536         buff.write(_struct_I.pack(length))
01537         for val2 in val1.poses:
01538           _v74 = val2.position
01539           _x = _v74
01540           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01541           _v75 = val2.orientation
01542           _x = _v75
01543           buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01544       length = len(self.planning_scene.attached_collision_objects)
01545       buff.write(_struct_I.pack(length))
01546       for val1 in self.planning_scene.attached_collision_objects:
01547         _x = val1.link_name
01548         length = len(_x)
01549         if python3 or type(_x) == unicode:
01550           _x = _x.encode('utf-8')
01551           length = len(_x)
01552         buff.write(struct.pack('<I%ss'%length, length, _x))
01553         _v76 = val1.object
01554         _v77 = _v76.header
01555         buff.write(_struct_I.pack(_v77.seq))
01556         _v78 = _v77.stamp
01557         _x = _v78
01558         buff.write(_struct_2I.pack(_x.secs, _x.nsecs))
01559         _x = _v77.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         _x = _v76.id
01566         length = len(_x)
01567         if python3 or type(_x) == unicode:
01568           _x = _x.encode('utf-8')
01569           length = len(_x)
01570         buff.write(struct.pack('<I%ss'%length, length, _x))
01571         buff.write(_struct_f.pack(_v76.padding))
01572         _v79 = _v76.operation
01573         buff.write(_struct_b.pack(_v79.operation))
01574         length = len(_v76.shapes)
01575         buff.write(_struct_I.pack(length))
01576         for val3 in _v76.shapes:
01577           buff.write(_struct_b.pack(val3.type))
01578           length = len(val3.dimensions)
01579           buff.write(_struct_I.pack(length))
01580           pattern = '<%sd'%length
01581           buff.write(val3.dimensions.tostring())
01582           length = len(val3.triangles)
01583           buff.write(_struct_I.pack(length))
01584           pattern = '<%si'%length
01585           buff.write(val3.triangles.tostring())
01586           length = len(val3.vertices)
01587           buff.write(_struct_I.pack(length))
01588           for val4 in val3.vertices:
01589             _x = val4
01590             buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01591         length = len(_v76.poses)
01592         buff.write(_struct_I.pack(length))
01593         for val3 in _v76.poses:
01594           _v80 = val3.position
01595           _x = _v80
01596           buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
01597           _v81 = val3.orientation
01598           _x = _v81
01599           buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
01600         length = len(val1.touch_links)
01601         buff.write(_struct_I.pack(length))
01602         for val2 in val1.touch_links:
01603           length = len(val2)
01604           if python3 or type(val2) == unicode:
01605             val2 = val2.encode('utf-8')
01606             length = len(val2)
01607           buff.write(struct.pack('<I%ss'%length, length, val2))
01608       _x = self
01609       buff.write(_struct_3I.pack(_x.planning_scene.collision_map.header.seq, _x.planning_scene.collision_map.header.stamp.secs, _x.planning_scene.collision_map.header.stamp.nsecs))
01610       _x = self.planning_scene.collision_map.header.frame_id
01611       length = len(_x)
01612       if python3 or type(_x) == unicode:
01613         _x = _x.encode('utf-8')
01614         length = len(_x)
01615       buff.write(struct.pack('<I%ss'%length, length, _x))
01616       length = len(self.planning_scene.collision_map.boxes)
01617       buff.write(_struct_I.pack(length))
01618       for val1 in self.planning_scene.collision_map.boxes:
01619         _v82 = val1.center
01620         _x = _v82
01621         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
01622         _v83 = val1.extents
01623         _x = _v83
01624         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
01625         _v84 = val1.axis
01626         _x = _v84
01627         buff.write(_struct_3f.pack(_x.x, _x.y, _x.z))
01628         buff.write(_struct_f.pack(val1.angle))
01629     except struct.error as se: self._check_types(se)
01630     except TypeError as te: self._check_types(te)
01631 
01632   def deserialize_numpy(self, str, numpy):
01633     """
01634     unpack serialized message in str into this message instance using numpy for array types
01635     :param str: byte array of serialized message, ``str``
01636     :param numpy: numpy python module
01637     """
01638     try:
01639       if self.planning_scene is None:
01640         self.planning_scene = arm_navigation_msgs.msg.PlanningScene()
01641       end = 0
01642       start = end
01643       end += 4
01644       (length,) = _struct_I.unpack(str[start:end])
01645       start = end
01646       end += length
01647       if python3:
01648         self.static_object = str[start:end].decode('utf-8')
01649       else:
01650         self.static_object = str[start:end]
01651       start = end
01652       end += 4
01653       (length,) = _struct_I.unpack(str[start:end])
01654       start = end
01655       end += length
01656       if python3:
01657         self.putdown_object = str[start:end].decode('utf-8')
01658       else:
01659         self.putdown_object = str[start:end]
01660       start = end
01661       end += 4
01662       (length,) = _struct_I.unpack(str[start:end])
01663       start = end
01664       end += length
01665       if python3:
01666         self.arm = str[start:end].decode('utf-8')
01667       else:
01668         self.arm = str[start:end]
01669       _x = self
01670       start = end
01671       end += 12
01672       (_x.planning_scene.robot_state.joint_state.header.seq, _x.planning_scene.robot_state.joint_state.header.stamp.secs, _x.planning_scene.robot_state.joint_state.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
01673       start = end
01674       end += 4
01675       (length,) = _struct_I.unpack(str[start:end])
01676       start = end
01677       end += length
01678       if python3:
01679         self.planning_scene.robot_state.joint_state.header.frame_id = str[start:end].decode('utf-8')
01680       else:
01681         self.planning_scene.robot_state.joint_state.header.frame_id = str[start:end]
01682       start = end
01683       end += 4
01684       (length,) = _struct_I.unpack(str[start:end])
01685       self.planning_scene.robot_state.joint_state.name = []
01686       for i in range(0, length):
01687         start = end
01688         end += 4
01689         (length,) = _struct_I.unpack(str[start:end])
01690         start = end
01691         end += length
01692         if python3:
01693           val1 = str[start:end].decode('utf-8')
01694         else:
01695           val1 = str[start:end]
01696         self.planning_scene.robot_state.joint_state.name.append(val1)
01697       start = end
01698       end += 4
01699       (length,) = _struct_I.unpack(str[start:end])
01700       pattern = '<%sd'%length
01701       start = end
01702       end += struct.calcsize(pattern)
01703       self.planning_scene.robot_state.joint_state.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01704       start = end
01705       end += 4
01706       (length,) = _struct_I.unpack(str[start:end])
01707       pattern = '<%sd'%length
01708       start = end
01709       end += struct.calcsize(pattern)
01710       self.planning_scene.robot_state.joint_state.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01711       start = end
01712       end += 4
01713       (length,) = _struct_I.unpack(str[start:end])
01714       pattern = '<%sd'%length
01715       start = end
01716       end += struct.calcsize(pattern)
01717       self.planning_scene.robot_state.joint_state.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01718       _x = self
01719       start = end
01720       end += 8
01721       (_x.planning_scene.robot_state.multi_dof_joint_state.stamp.secs, _x.planning_scene.robot_state.multi_dof_joint_state.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
01722       start = end
01723       end += 4
01724       (length,) = _struct_I.unpack(str[start:end])
01725       self.planning_scene.robot_state.multi_dof_joint_state.joint_names = []
01726       for i in range(0, length):
01727         start = end
01728         end += 4
01729         (length,) = _struct_I.unpack(str[start:end])
01730         start = end
01731         end += length
01732         if python3:
01733           val1 = str[start:end].decode('utf-8')
01734         else:
01735           val1 = str[start:end]
01736         self.planning_scene.robot_state.multi_dof_joint_state.joint_names.append(val1)
01737       start = end
01738       end += 4
01739       (length,) = _struct_I.unpack(str[start:end])
01740       self.planning_scene.robot_state.multi_dof_joint_state.frame_ids = []
01741       for i in range(0, length):
01742         start = end
01743         end += 4
01744         (length,) = _struct_I.unpack(str[start:end])
01745         start = end
01746         end += length
01747         if python3:
01748           val1 = str[start:end].decode('utf-8')
01749         else:
01750           val1 = str[start:end]
01751         self.planning_scene.robot_state.multi_dof_joint_state.frame_ids.append(val1)
01752       start = end
01753       end += 4
01754       (length,) = _struct_I.unpack(str[start:end])
01755       self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids = []
01756       for i in range(0, length):
01757         start = end
01758         end += 4
01759         (length,) = _struct_I.unpack(str[start:end])
01760         start = end
01761         end += length
01762         if python3:
01763           val1 = str[start:end].decode('utf-8')
01764         else:
01765           val1 = str[start:end]
01766         self.planning_scene.robot_state.multi_dof_joint_state.child_frame_ids.append(val1)
01767       start = end
01768       end += 4
01769       (length,) = _struct_I.unpack(str[start:end])
01770       self.planning_scene.robot_state.multi_dof_joint_state.poses = []
01771       for i in range(0, length):
01772         val1 = geometry_msgs.msg.Pose()
01773         _v85 = val1.position
01774         _x = _v85
01775         start = end
01776         end += 24
01777         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01778         _v86 = val1.orientation
01779         _x = _v86
01780         start = end
01781         end += 32
01782         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01783         self.planning_scene.robot_state.multi_dof_joint_state.poses.append(val1)
01784       start = end
01785       end += 4
01786       (length,) = _struct_I.unpack(str[start:end])
01787       self.planning_scene.fixed_frame_transforms = []
01788       for i in range(0, length):
01789         val1 = geometry_msgs.msg.TransformStamped()
01790         _v87 = val1.header
01791         start = end
01792         end += 4
01793         (_v87.seq,) = _struct_I.unpack(str[start:end])
01794         _v88 = _v87.stamp
01795         _x = _v88
01796         start = end
01797         end += 8
01798         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01799         start = end
01800         end += 4
01801         (length,) = _struct_I.unpack(str[start:end])
01802         start = end
01803         end += length
01804         if python3:
01805           _v87.frame_id = str[start:end].decode('utf-8')
01806         else:
01807           _v87.frame_id = str[start:end]
01808         start = end
01809         end += 4
01810         (length,) = _struct_I.unpack(str[start:end])
01811         start = end
01812         end += length
01813         if python3:
01814           val1.child_frame_id = str[start:end].decode('utf-8')
01815         else:
01816           val1.child_frame_id = str[start:end]
01817         _v89 = val1.transform
01818         _v90 = _v89.translation
01819         _x = _v90
01820         start = end
01821         end += 24
01822         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01823         _v91 = _v89.rotation
01824         _x = _v91
01825         start = end
01826         end += 32
01827         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01828         self.planning_scene.fixed_frame_transforms.append(val1)
01829       start = end
01830       end += 4
01831       (length,) = _struct_I.unpack(str[start:end])
01832       self.planning_scene.allowed_collision_matrix.link_names = []
01833       for i in range(0, length):
01834         start = end
01835         end += 4
01836         (length,) = _struct_I.unpack(str[start:end])
01837         start = end
01838         end += length
01839         if python3:
01840           val1 = str[start:end].decode('utf-8')
01841         else:
01842           val1 = str[start:end]
01843         self.planning_scene.allowed_collision_matrix.link_names.append(val1)
01844       start = end
01845       end += 4
01846       (length,) = _struct_I.unpack(str[start:end])
01847       self.planning_scene.allowed_collision_matrix.entries = []
01848       for i in range(0, length):
01849         val1 = arm_navigation_msgs.msg.AllowedCollisionEntry()
01850         start = end
01851         end += 4
01852         (length,) = _struct_I.unpack(str[start:end])
01853         pattern = '<%sB'%length
01854         start = end
01855         end += struct.calcsize(pattern)
01856         val1.enabled = numpy.frombuffer(str[start:end], dtype=numpy.bool, count=length)
01857         val1.enabled = map(bool, val1.enabled)
01858         self.planning_scene.allowed_collision_matrix.entries.append(val1)
01859       start = end
01860       end += 4
01861       (length,) = _struct_I.unpack(str[start:end])
01862       self.planning_scene.allowed_contacts = []
01863       for i in range(0, length):
01864         val1 = arm_navigation_msgs.msg.AllowedContactSpecification()
01865         start = end
01866         end += 4
01867         (length,) = _struct_I.unpack(str[start:end])
01868         start = end
01869         end += length
01870         if python3:
01871           val1.name = str[start:end].decode('utf-8')
01872         else:
01873           val1.name = str[start:end]
01874         _v92 = val1.shape
01875         start = end
01876         end += 1
01877         (_v92.type,) = _struct_b.unpack(str[start:end])
01878         start = end
01879         end += 4
01880         (length,) = _struct_I.unpack(str[start:end])
01881         pattern = '<%sd'%length
01882         start = end
01883         end += struct.calcsize(pattern)
01884         _v92.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
01885         start = end
01886         end += 4
01887         (length,) = _struct_I.unpack(str[start:end])
01888         pattern = '<%si'%length
01889         start = end
01890         end += struct.calcsize(pattern)
01891         _v92.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
01892         start = end
01893         end += 4
01894         (length,) = _struct_I.unpack(str[start:end])
01895         _v92.vertices = []
01896         for i in range(0, length):
01897           val3 = geometry_msgs.msg.Point()
01898           _x = val3
01899           start = end
01900           end += 24
01901           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01902           _v92.vertices.append(val3)
01903         _v93 = val1.pose_stamped
01904         _v94 = _v93.header
01905         start = end
01906         end += 4
01907         (_v94.seq,) = _struct_I.unpack(str[start:end])
01908         _v95 = _v94.stamp
01909         _x = _v95
01910         start = end
01911         end += 8
01912         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01913         start = end
01914         end += 4
01915         (length,) = _struct_I.unpack(str[start:end])
01916         start = end
01917         end += length
01918         if python3:
01919           _v94.frame_id = str[start:end].decode('utf-8')
01920         else:
01921           _v94.frame_id = str[start:end]
01922         _v96 = _v93.pose
01923         _v97 = _v96.position
01924         _x = _v97
01925         start = end
01926         end += 24
01927         (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
01928         _v98 = _v96.orientation
01929         _x = _v98
01930         start = end
01931         end += 32
01932         (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
01933         start = end
01934         end += 4
01935         (length,) = _struct_I.unpack(str[start:end])
01936         val1.link_names = []
01937         for i in range(0, length):
01938           start = end
01939           end += 4
01940           (length,) = _struct_I.unpack(str[start:end])
01941           start = end
01942           end += length
01943           if python3:
01944             val2 = str[start:end].decode('utf-8')
01945           else:
01946             val2 = str[start:end]
01947           val1.link_names.append(val2)
01948         start = end
01949         end += 8
01950         (val1.penetration_depth,) = _struct_d.unpack(str[start:end])
01951         self.planning_scene.allowed_contacts.append(val1)
01952       start = end
01953       end += 4
01954       (length,) = _struct_I.unpack(str[start:end])
01955       self.planning_scene.link_padding = []
01956       for i in range(0, length):
01957         val1 = arm_navigation_msgs.msg.LinkPadding()
01958         start = end
01959         end += 4
01960         (length,) = _struct_I.unpack(str[start:end])
01961         start = end
01962         end += length
01963         if python3:
01964           val1.link_name = str[start:end].decode('utf-8')
01965         else:
01966           val1.link_name = str[start:end]
01967         start = end
01968         end += 8
01969         (val1.padding,) = _struct_d.unpack(str[start:end])
01970         self.planning_scene.link_padding.append(val1)
01971       start = end
01972       end += 4
01973       (length,) = _struct_I.unpack(str[start:end])
01974       self.planning_scene.collision_objects = []
01975       for i in range(0, length):
01976         val1 = arm_navigation_msgs.msg.CollisionObject()
01977         _v99 = val1.header
01978         start = end
01979         end += 4
01980         (_v99.seq,) = _struct_I.unpack(str[start:end])
01981         _v100 = _v99.stamp
01982         _x = _v100
01983         start = end
01984         end += 8
01985         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
01986         start = end
01987         end += 4
01988         (length,) = _struct_I.unpack(str[start:end])
01989         start = end
01990         end += length
01991         if python3:
01992           _v99.frame_id = str[start:end].decode('utf-8')
01993         else:
01994           _v99.frame_id = str[start:end]
01995         start = end
01996         end += 4
01997         (length,) = _struct_I.unpack(str[start:end])
01998         start = end
01999         end += length
02000         if python3:
02001           val1.id = str[start:end].decode('utf-8')
02002         else:
02003           val1.id = str[start:end]
02004         start = end
02005         end += 4
02006         (val1.padding,) = _struct_f.unpack(str[start:end])
02007         _v101 = val1.operation
02008         start = end
02009         end += 1
02010         (_v101.operation,) = _struct_b.unpack(str[start:end])
02011         start = end
02012         end += 4
02013         (length,) = _struct_I.unpack(str[start:end])
02014         val1.shapes = []
02015         for i in range(0, length):
02016           val2 = arm_navigation_msgs.msg.Shape()
02017           start = end
02018           end += 1
02019           (val2.type,) = _struct_b.unpack(str[start:end])
02020           start = end
02021           end += 4
02022           (length,) = _struct_I.unpack(str[start:end])
02023           pattern = '<%sd'%length
02024           start = end
02025           end += struct.calcsize(pattern)
02026           val2.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02027           start = end
02028           end += 4
02029           (length,) = _struct_I.unpack(str[start:end])
02030           pattern = '<%si'%length
02031           start = end
02032           end += struct.calcsize(pattern)
02033           val2.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02034           start = end
02035           end += 4
02036           (length,) = _struct_I.unpack(str[start:end])
02037           val2.vertices = []
02038           for i in range(0, length):
02039             val3 = geometry_msgs.msg.Point()
02040             _x = val3
02041             start = end
02042             end += 24
02043             (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02044             val2.vertices.append(val3)
02045           val1.shapes.append(val2)
02046         start = end
02047         end += 4
02048         (length,) = _struct_I.unpack(str[start:end])
02049         val1.poses = []
02050         for i in range(0, length):
02051           val2 = geometry_msgs.msg.Pose()
02052           _v102 = val2.position
02053           _x = _v102
02054           start = end
02055           end += 24
02056           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02057           _v103 = val2.orientation
02058           _x = _v103
02059           start = end
02060           end += 32
02061           (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02062           val1.poses.append(val2)
02063         self.planning_scene.collision_objects.append(val1)
02064       start = end
02065       end += 4
02066       (length,) = _struct_I.unpack(str[start:end])
02067       self.planning_scene.attached_collision_objects = []
02068       for i in range(0, length):
02069         val1 = arm_navigation_msgs.msg.AttachedCollisionObject()
02070         start = end
02071         end += 4
02072         (length,) = _struct_I.unpack(str[start:end])
02073         start = end
02074         end += length
02075         if python3:
02076           val1.link_name = str[start:end].decode('utf-8')
02077         else:
02078           val1.link_name = str[start:end]
02079         _v104 = val1.object
02080         _v105 = _v104.header
02081         start = end
02082         end += 4
02083         (_v105.seq,) = _struct_I.unpack(str[start:end])
02084         _v106 = _v105.stamp
02085         _x = _v106
02086         start = end
02087         end += 8
02088         (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end])
02089         start = end
02090         end += 4
02091         (length,) = _struct_I.unpack(str[start:end])
02092         start = end
02093         end += length
02094         if python3:
02095           _v105.frame_id = str[start:end].decode('utf-8')
02096         else:
02097           _v105.frame_id = str[start:end]
02098         start = end
02099         end += 4
02100         (length,) = _struct_I.unpack(str[start:end])
02101         start = end
02102         end += length
02103         if python3:
02104           _v104.id = str[start:end].decode('utf-8')
02105         else:
02106           _v104.id = str[start:end]
02107         start = end
02108         end += 4
02109         (_v104.padding,) = _struct_f.unpack(str[start:end])
02110         _v107 = _v104.operation
02111         start = end
02112         end += 1
02113         (_v107.operation,) = _struct_b.unpack(str[start:end])
02114         start = end
02115         end += 4
02116         (length,) = _struct_I.unpack(str[start:end])
02117         _v104.shapes = []
02118         for i in range(0, length):
02119           val3 = arm_navigation_msgs.msg.Shape()
02120           start = end
02121           end += 1
02122           (val3.type,) = _struct_b.unpack(str[start:end])
02123           start = end
02124           end += 4
02125           (length,) = _struct_I.unpack(str[start:end])
02126           pattern = '<%sd'%length
02127           start = end
02128           end += struct.calcsize(pattern)
02129           val3.dimensions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length)
02130           start = end
02131           end += 4
02132           (length,) = _struct_I.unpack(str[start:end])
02133           pattern = '<%si'%length
02134           start = end
02135           end += struct.calcsize(pattern)
02136           val3.triangles = numpy.frombuffer(str[start:end], dtype=numpy.int32, count=length)
02137           start = end
02138           end += 4
02139           (length,) = _struct_I.unpack(str[start:end])
02140           val3.vertices = []
02141           for i in range(0, length):
02142             val4 = geometry_msgs.msg.Point()
02143             _x = val4
02144             start = end
02145             end += 24
02146             (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02147             val3.vertices.append(val4)
02148           _v104.shapes.append(val3)
02149         start = end
02150         end += 4
02151         (length,) = _struct_I.unpack(str[start:end])
02152         _v104.poses = []
02153         for i in range(0, length):
02154           val3 = geometry_msgs.msg.Pose()
02155           _v108 = val3.position
02156           _x = _v108
02157           start = end
02158           end += 24
02159           (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
02160           _v109 = val3.orientation
02161           _x = _v109
02162           start = end
02163           end += 32
02164           (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
02165           _v104.poses.append(val3)
02166         start = end
02167         end += 4
02168         (length,) = _struct_I.unpack(str[start:end])
02169         val1.touch_links = []
02170         for i in range(0, length):
02171           start = end
02172           end += 4
02173           (length,) = _struct_I.unpack(str[start:end])
02174           start = end
02175           end += length
02176           if python3:
02177             val2 = str[start:end].decode('utf-8')
02178           else:
02179             val2 = str[start:end]
02180           val1.touch_links.append(val2)
02181         self.planning_scene.attached_collision_objects.append(val1)
02182       _x = self
02183       start = end
02184       end += 12
02185       (_x.planning_scene.collision_map.header.seq, _x.planning_scene.collision_map.header.stamp.secs, _x.planning_scene.collision_map.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02186       start = end
02187       end += 4
02188       (length,) = _struct_I.unpack(str[start:end])
02189       start = end
02190       end += length
02191       if python3:
02192         self.planning_scene.collision_map.header.frame_id = str[start:end].decode('utf-8')
02193       else:
02194         self.planning_scene.collision_map.header.frame_id = str[start:end]
02195       start = end
02196       end += 4
02197       (length,) = _struct_I.unpack(str[start:end])
02198       self.planning_scene.collision_map.boxes = []
02199       for i in range(0, length):
02200         val1 = arm_navigation_msgs.msg.OrientedBoundingBox()
02201         _v110 = val1.center
02202         _x = _v110
02203         start = end
02204         end += 12
02205         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
02206         _v111 = val1.extents
02207         _x = _v111
02208         start = end
02209         end += 12
02210         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
02211         _v112 = val1.axis
02212         _x = _v112
02213         start = end
02214         end += 12
02215         (_x.x, _x.y, _x.z,) = _struct_3f.unpack(str[start:end])
02216         start = end
02217         end += 4
02218         (val1.angle,) = _struct_f.unpack(str[start:end])
02219         self.planning_scene.collision_map.boxes.append(val1)
02220       return self
02221     except struct.error as e:
02222       raise genpy.DeserializationError(e) #most likely buffer underfill
02223 
02224 _struct_I = genpy.struct_I
02225 _struct_b = struct.Struct("<b")
02226 _struct_d = struct.Struct("<d")
02227 _struct_f = struct.Struct("<f")
02228 _struct_3f = struct.Struct("<3f")
02229 _struct_3I = struct.Struct("<3I")
02230 _struct_4d = struct.Struct("<4d")
02231 _struct_2I = struct.Struct("<2I")
02232 _struct_3d = struct.Struct("<3d")
02233 """autogenerated by genpy from tidyup_msgs/GetPutdownPoseResponse.msg. Do not edit."""
02234 import sys
02235 python3 = True if sys.hexversion > 0x03000000 else False
02236 import genpy
02237 import struct
02238 
02239 import arm_navigation_msgs.msg
02240 import geometry_msgs.msg
02241 import std_msgs.msg
02242 
02243 class GetPutdownPoseResponse(genpy.Message):
02244   _md5sum = "dba38f345d8f80dba1fc044b84df0cc6"
02245   _type = "tidyup_msgs/GetPutdownPoseResponse"
02246   _has_header = False #flag to mark the presence of a Header object
02247   _full_text = """
02248 geometry_msgs/PoseStamped putdown_pose
02249 arm_navigation_msgs/ArmNavigationErrorCodes error_code
02250 
02251 
02252 ================================================================================
02253 MSG: geometry_msgs/PoseStamped
02254 # A Pose with reference coordinate frame and timestamp
02255 Header header
02256 Pose pose
02257 
02258 ================================================================================
02259 MSG: std_msgs/Header
02260 # Standard metadata for higher-level stamped data types.
02261 # This is generally used to communicate timestamped data 
02262 # in a particular coordinate frame.
02263 # 
02264 # sequence ID: consecutively increasing ID 
02265 uint32 seq
02266 #Two-integer timestamp that is expressed as:
02267 # * stamp.secs: seconds (stamp_secs) since epoch
02268 # * stamp.nsecs: nanoseconds since stamp_secs
02269 # time-handling sugar is provided by the client library
02270 time stamp
02271 #Frame this data is associated with
02272 # 0: no frame
02273 # 1: global frame
02274 string frame_id
02275 
02276 ================================================================================
02277 MSG: geometry_msgs/Pose
02278 # A representation of pose in free space, composed of postion and orientation. 
02279 Point position
02280 Quaternion orientation
02281 
02282 ================================================================================
02283 MSG: geometry_msgs/Point
02284 # This contains the position of a point in free space
02285 float64 x
02286 float64 y
02287 float64 z
02288 
02289 ================================================================================
02290 MSG: geometry_msgs/Quaternion
02291 # This represents an orientation in free space in quaternion form.
02292 
02293 float64 x
02294 float64 y
02295 float64 z
02296 float64 w
02297 
02298 ================================================================================
02299 MSG: arm_navigation_msgs/ArmNavigationErrorCodes
02300 int32 val
02301 
02302 # overall behavior
02303 int32 PLANNING_FAILED=-1
02304 int32 SUCCESS=1
02305 int32 TIMED_OUT=-2
02306 
02307 # start state errors
02308 int32 START_STATE_IN_COLLISION=-3
02309 int32 START_STATE_VIOLATES_PATH_CONSTRAINTS=-4
02310 
02311 # goal errors
02312 int32 GOAL_IN_COLLISION=-5
02313 int32 GOAL_VIOLATES_PATH_CONSTRAINTS=-6
02314 
02315 # robot state
02316 int32 INVALID_ROBOT_STATE=-7
02317 int32 INCOMPLETE_ROBOT_STATE=-8
02318 
02319 # planning request errors
02320 int32 INVALID_PLANNER_ID=-9
02321 int32 INVALID_NUM_PLANNING_ATTEMPTS=-10
02322 int32 INVALID_ALLOWED_PLANNING_TIME=-11
02323 int32 INVALID_GROUP_NAME=-12
02324 int32 INVALID_GOAL_JOINT_CONSTRAINTS=-13
02325 int32 INVALID_GOAL_POSITION_CONSTRAINTS=-14
02326 int32 INVALID_GOAL_ORIENTATION_CONSTRAINTS=-15
02327 int32 INVALID_PATH_JOINT_CONSTRAINTS=-16
02328 int32 INVALID_PATH_POSITION_CONSTRAINTS=-17
02329 int32 INVALID_PATH_ORIENTATION_CONSTRAINTS=-18
02330 
02331 # state/trajectory monitor errors
02332 int32 INVALID_TRAJECTORY=-19
02333 int32 INVALID_INDEX=-20
02334 int32 JOINT_LIMITS_VIOLATED=-21
02335 int32 PATH_CONSTRAINTS_VIOLATED=-22
02336 int32 COLLISION_CONSTRAINTS_VIOLATED=-23
02337 int32 GOAL_CONSTRAINTS_VIOLATED=-24
02338 int32 JOINTS_NOT_MOVING=-25
02339 int32 TRAJECTORY_CONTROLLER_FAILED=-26
02340 
02341 # system errors
02342 int32 FRAME_TRANSFORM_FAILURE=-27
02343 int32 COLLISION_CHECKING_UNAVAILABLE=-28
02344 int32 ROBOT_STATE_STALE=-29
02345 int32 SENSOR_INFO_STALE=-30
02346 
02347 # kinematics errors
02348 int32 NO_IK_SOLUTION=-31
02349 int32 INVALID_LINK_NAME=-32
02350 int32 IK_LINK_IN_COLLISION=-33
02351 int32 NO_FK_SOLUTION=-34
02352 int32 KINEMATICS_STATE_IN_COLLISION=-35
02353 
02354 # general errors
02355 int32 INVALID_TIMEOUT=-36
02356 
02357 
02358 """
02359   __slots__ = ['putdown_pose','error_code']
02360   _slot_types = ['geometry_msgs/PoseStamped','arm_navigation_msgs/ArmNavigationErrorCodes']
02361 
02362   def __init__(self, *args, **kwds):
02363     """
02364     Constructor. Any message fields that are implicitly/explicitly
02365     set to None will be assigned a default value. The recommend
02366     use is keyword arguments as this is more robust to future message
02367     changes.  You cannot mix in-order arguments and keyword arguments.
02368 
02369     The available fields are:
02370        putdown_pose,error_code
02371 
02372     :param args: complete set of field values, in .msg order
02373     :param kwds: use keyword arguments corresponding to message field names
02374     to set specific fields.
02375     """
02376     if args or kwds:
02377       super(GetPutdownPoseResponse, self).__init__(*args, **kwds)
02378       #message fields cannot be None, assign default values for those that are
02379       if self.putdown_pose is None:
02380         self.putdown_pose = geometry_msgs.msg.PoseStamped()
02381       if self.error_code is None:
02382         self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02383     else:
02384       self.putdown_pose = geometry_msgs.msg.PoseStamped()
02385       self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02386 
02387   def _get_types(self):
02388     """
02389     internal API method
02390     """
02391     return self._slot_types
02392 
02393   def serialize(self, buff):
02394     """
02395     serialize message into buffer
02396     :param buff: buffer, ``StringIO``
02397     """
02398     try:
02399       _x = self
02400       buff.write(_struct_3I.pack(_x.putdown_pose.header.seq, _x.putdown_pose.header.stamp.secs, _x.putdown_pose.header.stamp.nsecs))
02401       _x = self.putdown_pose.header.frame_id
02402       length = len(_x)
02403       if python3 or type(_x) == unicode:
02404         _x = _x.encode('utf-8')
02405         length = len(_x)
02406       buff.write(struct.pack('<I%ss'%length, length, _x))
02407       _x = self
02408       buff.write(_struct_7di.pack(_x.putdown_pose.pose.position.x, _x.putdown_pose.pose.position.y, _x.putdown_pose.pose.position.z, _x.putdown_pose.pose.orientation.x, _x.putdown_pose.pose.orientation.y, _x.putdown_pose.pose.orientation.z, _x.putdown_pose.pose.orientation.w, _x.error_code.val))
02409     except struct.error as se: self._check_types(se)
02410     except TypeError as te: self._check_types(te)
02411 
02412   def deserialize(self, str):
02413     """
02414     unpack serialized message in str into this message instance
02415     :param str: byte array of serialized message, ``str``
02416     """
02417     try:
02418       if self.putdown_pose is None:
02419         self.putdown_pose = geometry_msgs.msg.PoseStamped()
02420       if self.error_code is None:
02421         self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02422       end = 0
02423       _x = self
02424       start = end
02425       end += 12
02426       (_x.putdown_pose.header.seq, _x.putdown_pose.header.stamp.secs, _x.putdown_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02427       start = end
02428       end += 4
02429       (length,) = _struct_I.unpack(str[start:end])
02430       start = end
02431       end += length
02432       if python3:
02433         self.putdown_pose.header.frame_id = str[start:end].decode('utf-8')
02434       else:
02435         self.putdown_pose.header.frame_id = str[start:end]
02436       _x = self
02437       start = end
02438       end += 60
02439       (_x.putdown_pose.pose.position.x, _x.putdown_pose.pose.position.y, _x.putdown_pose.pose.position.z, _x.putdown_pose.pose.orientation.x, _x.putdown_pose.pose.orientation.y, _x.putdown_pose.pose.orientation.z, _x.putdown_pose.pose.orientation.w, _x.error_code.val,) = _struct_7di.unpack(str[start:end])
02440       return self
02441     except struct.error as e:
02442       raise genpy.DeserializationError(e) #most likely buffer underfill
02443 
02444 
02445   def serialize_numpy(self, buff, numpy):
02446     """
02447     serialize message with numpy array types into buffer
02448     :param buff: buffer, ``StringIO``
02449     :param numpy: numpy python module
02450     """
02451     try:
02452       _x = self
02453       buff.write(_struct_3I.pack(_x.putdown_pose.header.seq, _x.putdown_pose.header.stamp.secs, _x.putdown_pose.header.stamp.nsecs))
02454       _x = self.putdown_pose.header.frame_id
02455       length = len(_x)
02456       if python3 or type(_x) == unicode:
02457         _x = _x.encode('utf-8')
02458         length = len(_x)
02459       buff.write(struct.pack('<I%ss'%length, length, _x))
02460       _x = self
02461       buff.write(_struct_7di.pack(_x.putdown_pose.pose.position.x, _x.putdown_pose.pose.position.y, _x.putdown_pose.pose.position.z, _x.putdown_pose.pose.orientation.x, _x.putdown_pose.pose.orientation.y, _x.putdown_pose.pose.orientation.z, _x.putdown_pose.pose.orientation.w, _x.error_code.val))
02462     except struct.error as se: self._check_types(se)
02463     except TypeError as te: self._check_types(te)
02464 
02465   def deserialize_numpy(self, str, numpy):
02466     """
02467     unpack serialized message in str into this message instance using numpy for array types
02468     :param str: byte array of serialized message, ``str``
02469     :param numpy: numpy python module
02470     """
02471     try:
02472       if self.putdown_pose is None:
02473         self.putdown_pose = geometry_msgs.msg.PoseStamped()
02474       if self.error_code is None:
02475         self.error_code = arm_navigation_msgs.msg.ArmNavigationErrorCodes()
02476       end = 0
02477       _x = self
02478       start = end
02479       end += 12
02480       (_x.putdown_pose.header.seq, _x.putdown_pose.header.stamp.secs, _x.putdown_pose.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
02481       start = end
02482       end += 4
02483       (length,) = _struct_I.unpack(str[start:end])
02484       start = end
02485       end += length
02486       if python3:
02487         self.putdown_pose.header.frame_id = str[start:end].decode('utf-8')
02488       else:
02489         self.putdown_pose.header.frame_id = str[start:end]
02490       _x = self
02491       start = end
02492       end += 60
02493       (_x.putdown_pose.pose.position.x, _x.putdown_pose.pose.position.y, _x.putdown_pose.pose.position.z, _x.putdown_pose.pose.orientation.x, _x.putdown_pose.pose.orientation.y, _x.putdown_pose.pose.orientation.z, _x.putdown_pose.pose.orientation.w, _x.error_code.val,) = _struct_7di.unpack(str[start:end])
02494       return self
02495     except struct.error as e:
02496       raise genpy.DeserializationError(e) #most likely buffer underfill
02497 
02498 _struct_I = genpy.struct_I
02499 _struct_7di = struct.Struct("<7di")
02500 _struct_3I = struct.Struct("<3I")
02501 class GetPutdownPose(object):
02502   _type          = 'tidyup_msgs/GetPutdownPose'
02503   _md5sum = 'c7b28b2d527097da5c1daa355d5607b9'
02504   _request_class  = GetPutdownPoseRequest
02505   _response_class = GetPutdownPoseResponse
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends


tidyup_msgs
Author(s): Maintained by Christian Dornhege
autogenerated on Wed Dec 26 2012 15:47:07