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


arm_navigation_msgs
Author(s): Gil Jones
autogenerated on Thu Dec 12 2013 11:08:10