$search
00001 """autogenerated by genmsg_py from GetSnapshotAction.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import pr2_tilt_laser_interface.msg 00006 import sensor_msgs.msg 00007 import roslib.rostime 00008 import actionlib_msgs.msg 00009 import std_msgs.msg 00010 00011 class GetSnapshotAction(roslib.message.Message): 00012 _md5sum = "a02433255d6053a289c4e30e1bb6194d" 00013 _type = "pr2_tilt_laser_interface/GetSnapshotAction" 00014 _has_header = False #flag to mark the presence of a Header object 00015 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00016 00017 GetSnapshotActionGoal action_goal 00018 GetSnapshotActionResult action_result 00019 GetSnapshotActionFeedback action_feedback 00020 00021 ================================================================================ 00022 MSG: pr2_tilt_laser_interface/GetSnapshotActionGoal 00023 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00024 00025 Header header 00026 actionlib_msgs/GoalID goal_id 00027 GetSnapshotGoal goal 00028 00029 ================================================================================ 00030 MSG: std_msgs/Header 00031 # Standard metadata for higher-level stamped data types. 00032 # This is generally used to communicate timestamped data 00033 # in a particular coordinate frame. 00034 # 00035 # sequence ID: consecutively increasing ID 00036 uint32 seq 00037 #Two-integer timestamp that is expressed as: 00038 # * stamp.secs: seconds (stamp_secs) since epoch 00039 # * stamp.nsecs: nanoseconds since stamp_secs 00040 # time-handling sugar is provided by the client library 00041 time stamp 00042 #Frame this data is associated with 00043 # 0: no frame 00044 # 1: global frame 00045 string frame_id 00046 00047 ================================================================================ 00048 MSG: actionlib_msgs/GoalID 00049 # The stamp should store the time at which this goal was requested. 00050 # It is used by an action server when it tries to preempt all 00051 # goals that were requested before a certain time 00052 time stamp 00053 00054 # The id provides a way to associate feedback and 00055 # result message with specific goal requests. The id 00056 # specified must be unique. 00057 string id 00058 00059 00060 ================================================================================ 00061 MSG: pr2_tilt_laser_interface/GetSnapshotGoal 00062 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00063 # Goal 00064 # We always want to command. Don't need this bool 00065 # bool command_laser # True: Use the command below. False: Use existing profile 00066 float32 start_angle 00067 float32 end_angle 00068 float32 speed 00069 bool hi_fidelity 00070 bool continuous 00071 00072 ================================================================================ 00073 MSG: pr2_tilt_laser_interface/GetSnapshotActionResult 00074 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00075 00076 Header header 00077 actionlib_msgs/GoalStatus status 00078 GetSnapshotResult result 00079 00080 ================================================================================ 00081 MSG: actionlib_msgs/GoalStatus 00082 GoalID goal_id 00083 uint8 status 00084 uint8 PENDING = 0 # The goal has yet to be processed by the action server 00085 uint8 ACTIVE = 1 # The goal is currently being processed by the action server 00086 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing 00087 # and has since completed its execution (Terminal State) 00088 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) 00089 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due 00090 # to some failure (Terminal State) 00091 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, 00092 # because the goal was unattainable or invalid (Terminal State) 00093 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing 00094 # and has not yet completed execution 00095 uint8 RECALLING = 7 # The goal received a cancel request before it started executing, 00096 # but the action server has not yet confirmed that the goal is canceled 00097 uint8 RECALLED = 8 # The goal received a cancel request before it started executing 00098 # and was successfully cancelled (Terminal State) 00099 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be 00100 # sent over the wire by an action server 00101 00102 #Allow for the user to associate a string with GoalStatus for debugging 00103 string text 00104 00105 00106 ================================================================================ 00107 MSG: pr2_tilt_laser_interface/GetSnapshotResult 00108 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00109 # Result 00110 sensor_msgs/PointCloud2 cloud 00111 00112 00113 ================================================================================ 00114 MSG: sensor_msgs/PointCloud2 00115 # This message holds a collection of N-dimensional points, which may 00116 # contain additional information such as normals, intensity, etc. The 00117 # point data is stored as a binary blob, its layout described by the 00118 # contents of the "fields" array. 00119 00120 # The point cloud data may be organized 2d (image-like) or 1d 00121 # (unordered). Point clouds organized as 2d images may be produced by 00122 # camera depth sensors such as stereo or time-of-flight. 00123 00124 # Time of sensor data acquisition, and the coordinate frame ID (for 3d 00125 # points). 00126 Header header 00127 00128 # 2D structure of the point cloud. If the cloud is unordered, height is 00129 # 1 and width is the length of the point cloud. 00130 uint32 height 00131 uint32 width 00132 00133 # Describes the channels and their layout in the binary data blob. 00134 PointField[] fields 00135 00136 bool is_bigendian # Is this data bigendian? 00137 uint32 point_step # Length of a point in bytes 00138 uint32 row_step # Length of a row in bytes 00139 uint8[] data # Actual point data, size is (row_step*height) 00140 00141 bool is_dense # True if there are no invalid points 00142 00143 ================================================================================ 00144 MSG: sensor_msgs/PointField 00145 # This message holds the description of one point entry in the 00146 # PointCloud2 message format. 00147 uint8 INT8 = 1 00148 uint8 UINT8 = 2 00149 uint8 INT16 = 3 00150 uint8 UINT16 = 4 00151 uint8 INT32 = 5 00152 uint8 UINT32 = 6 00153 uint8 FLOAT32 = 7 00154 uint8 FLOAT64 = 8 00155 00156 string name # Name of field 00157 uint32 offset # Offset from start of point struct 00158 uint8 datatype # Datatype enumeration, see above 00159 uint32 count # How many elements in the field 00160 00161 ================================================================================ 00162 MSG: pr2_tilt_laser_interface/GetSnapshotActionFeedback 00163 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00164 00165 Header header 00166 actionlib_msgs/GoalStatus status 00167 GetSnapshotFeedback feedback 00168 00169 ================================================================================ 00170 MSG: pr2_tilt_laser_interface/GetSnapshotFeedback 00171 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00172 # Feedback 00173 sensor_msgs/PointCloud2 cloud 00174 00175 00176 00177 """ 00178 __slots__ = ['action_goal','action_result','action_feedback'] 00179 _slot_types = ['pr2_tilt_laser_interface/GetSnapshotActionGoal','pr2_tilt_laser_interface/GetSnapshotActionResult','pr2_tilt_laser_interface/GetSnapshotActionFeedback'] 00180 00181 def __init__(self, *args, **kwds): 00182 """ 00183 Constructor. Any message fields that are implicitly/explicitly 00184 set to None will be assigned a default value. The recommend 00185 use is keyword arguments as this is more robust to future message 00186 changes. You cannot mix in-order arguments and keyword arguments. 00187 00188 The available fields are: 00189 action_goal,action_result,action_feedback 00190 00191 @param args: complete set of field values, in .msg order 00192 @param kwds: use keyword arguments corresponding to message field names 00193 to set specific fields. 00194 """ 00195 if args or kwds: 00196 super(GetSnapshotAction, self).__init__(*args, **kwds) 00197 #message fields cannot be None, assign default values for those that are 00198 if self.action_goal is None: 00199 self.action_goal = pr2_tilt_laser_interface.msg.GetSnapshotActionGoal() 00200 if self.action_result is None: 00201 self.action_result = pr2_tilt_laser_interface.msg.GetSnapshotActionResult() 00202 if self.action_feedback is None: 00203 self.action_feedback = pr2_tilt_laser_interface.msg.GetSnapshotActionFeedback() 00204 else: 00205 self.action_goal = pr2_tilt_laser_interface.msg.GetSnapshotActionGoal() 00206 self.action_result = pr2_tilt_laser_interface.msg.GetSnapshotActionResult() 00207 self.action_feedback = pr2_tilt_laser_interface.msg.GetSnapshotActionFeedback() 00208 00209 def _get_types(self): 00210 """ 00211 internal API method 00212 """ 00213 return self._slot_types 00214 00215 def serialize(self, buff): 00216 """ 00217 serialize message into buffer 00218 @param buff: buffer 00219 @type buff: StringIO 00220 """ 00221 try: 00222 _x = self 00223 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00224 _x = self.action_goal.header.frame_id 00225 length = len(_x) 00226 buff.write(struct.pack('<I%ss'%length, length, _x)) 00227 _x = self 00228 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00229 _x = self.action_goal.goal_id.id 00230 length = len(_x) 00231 buff.write(struct.pack('<I%ss'%length, length, _x)) 00232 _x = self 00233 buff.write(_struct_3f2B3I.pack(_x.action_goal.goal.start_angle, _x.action_goal.goal.end_angle, _x.action_goal.goal.speed, _x.action_goal.goal.hi_fidelity, _x.action_goal.goal.continuous, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00234 _x = self.action_result.header.frame_id 00235 length = len(_x) 00236 buff.write(struct.pack('<I%ss'%length, length, _x)) 00237 _x = self 00238 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00239 _x = self.action_result.status.goal_id.id 00240 length = len(_x) 00241 buff.write(struct.pack('<I%ss'%length, length, _x)) 00242 buff.write(_struct_B.pack(self.action_result.status.status)) 00243 _x = self.action_result.status.text 00244 length = len(_x) 00245 buff.write(struct.pack('<I%ss'%length, length, _x)) 00246 _x = self 00247 buff.write(_struct_3I.pack(_x.action_result.result.cloud.header.seq, _x.action_result.result.cloud.header.stamp.secs, _x.action_result.result.cloud.header.stamp.nsecs)) 00248 _x = self.action_result.result.cloud.header.frame_id 00249 length = len(_x) 00250 buff.write(struct.pack('<I%ss'%length, length, _x)) 00251 _x = self 00252 buff.write(_struct_2I.pack(_x.action_result.result.cloud.height, _x.action_result.result.cloud.width)) 00253 length = len(self.action_result.result.cloud.fields) 00254 buff.write(_struct_I.pack(length)) 00255 for val1 in self.action_result.result.cloud.fields: 00256 _x = val1.name 00257 length = len(_x) 00258 buff.write(struct.pack('<I%ss'%length, length, _x)) 00259 _x = val1 00260 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00261 _x = self 00262 buff.write(_struct_B2I.pack(_x.action_result.result.cloud.is_bigendian, _x.action_result.result.cloud.point_step, _x.action_result.result.cloud.row_step)) 00263 _x = self.action_result.result.cloud.data 00264 length = len(_x) 00265 # - if encoded as a list instead, serialize as bytes instead of string 00266 if type(_x) in [list, tuple]: 00267 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00268 else: 00269 buff.write(struct.pack('<I%ss'%length, length, _x)) 00270 _x = self 00271 buff.write(_struct_B3I.pack(_x.action_result.result.cloud.is_dense, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00272 _x = self.action_feedback.header.frame_id 00273 length = len(_x) 00274 buff.write(struct.pack('<I%ss'%length, length, _x)) 00275 _x = self 00276 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00277 _x = self.action_feedback.status.goal_id.id 00278 length = len(_x) 00279 buff.write(struct.pack('<I%ss'%length, length, _x)) 00280 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00281 _x = self.action_feedback.status.text 00282 length = len(_x) 00283 buff.write(struct.pack('<I%ss'%length, length, _x)) 00284 _x = self 00285 buff.write(_struct_3I.pack(_x.action_feedback.feedback.cloud.header.seq, _x.action_feedback.feedback.cloud.header.stamp.secs, _x.action_feedback.feedback.cloud.header.stamp.nsecs)) 00286 _x = self.action_feedback.feedback.cloud.header.frame_id 00287 length = len(_x) 00288 buff.write(struct.pack('<I%ss'%length, length, _x)) 00289 _x = self 00290 buff.write(_struct_2I.pack(_x.action_feedback.feedback.cloud.height, _x.action_feedback.feedback.cloud.width)) 00291 length = len(self.action_feedback.feedback.cloud.fields) 00292 buff.write(_struct_I.pack(length)) 00293 for val1 in self.action_feedback.feedback.cloud.fields: 00294 _x = val1.name 00295 length = len(_x) 00296 buff.write(struct.pack('<I%ss'%length, length, _x)) 00297 _x = val1 00298 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00299 _x = self 00300 buff.write(_struct_B2I.pack(_x.action_feedback.feedback.cloud.is_bigendian, _x.action_feedback.feedback.cloud.point_step, _x.action_feedback.feedback.cloud.row_step)) 00301 _x = self.action_feedback.feedback.cloud.data 00302 length = len(_x) 00303 # - if encoded as a list instead, serialize as bytes instead of string 00304 if type(_x) in [list, tuple]: 00305 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00306 else: 00307 buff.write(struct.pack('<I%ss'%length, length, _x)) 00308 buff.write(_struct_B.pack(self.action_feedback.feedback.cloud.is_dense)) 00309 except struct.error as se: self._check_types(se) 00310 except TypeError as te: self._check_types(te) 00311 00312 def deserialize(self, str): 00313 """ 00314 unpack serialized message in str into this message instance 00315 @param str: byte array of serialized message 00316 @type str: str 00317 """ 00318 try: 00319 if self.action_goal is None: 00320 self.action_goal = pr2_tilt_laser_interface.msg.GetSnapshotActionGoal() 00321 if self.action_result is None: 00322 self.action_result = pr2_tilt_laser_interface.msg.GetSnapshotActionResult() 00323 if self.action_feedback is None: 00324 self.action_feedback = pr2_tilt_laser_interface.msg.GetSnapshotActionFeedback() 00325 end = 0 00326 _x = self 00327 start = end 00328 end += 12 00329 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00330 start = end 00331 end += 4 00332 (length,) = _struct_I.unpack(str[start:end]) 00333 start = end 00334 end += length 00335 self.action_goal.header.frame_id = str[start:end] 00336 _x = self 00337 start = end 00338 end += 8 00339 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00340 start = end 00341 end += 4 00342 (length,) = _struct_I.unpack(str[start:end]) 00343 start = end 00344 end += length 00345 self.action_goal.goal_id.id = str[start:end] 00346 _x = self 00347 start = end 00348 end += 26 00349 (_x.action_goal.goal.start_angle, _x.action_goal.goal.end_angle, _x.action_goal.goal.speed, _x.action_goal.goal.hi_fidelity, _x.action_goal.goal.continuous, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3f2B3I.unpack(str[start:end]) 00350 self.action_goal.goal.hi_fidelity = bool(self.action_goal.goal.hi_fidelity) 00351 self.action_goal.goal.continuous = bool(self.action_goal.goal.continuous) 00352 start = end 00353 end += 4 00354 (length,) = _struct_I.unpack(str[start:end]) 00355 start = end 00356 end += length 00357 self.action_result.header.frame_id = str[start:end] 00358 _x = self 00359 start = end 00360 end += 8 00361 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00362 start = end 00363 end += 4 00364 (length,) = _struct_I.unpack(str[start:end]) 00365 start = end 00366 end += length 00367 self.action_result.status.goal_id.id = str[start:end] 00368 start = end 00369 end += 1 00370 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00371 start = end 00372 end += 4 00373 (length,) = _struct_I.unpack(str[start:end]) 00374 start = end 00375 end += length 00376 self.action_result.status.text = str[start:end] 00377 _x = self 00378 start = end 00379 end += 12 00380 (_x.action_result.result.cloud.header.seq, _x.action_result.result.cloud.header.stamp.secs, _x.action_result.result.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00381 start = end 00382 end += 4 00383 (length,) = _struct_I.unpack(str[start:end]) 00384 start = end 00385 end += length 00386 self.action_result.result.cloud.header.frame_id = str[start:end] 00387 _x = self 00388 start = end 00389 end += 8 00390 (_x.action_result.result.cloud.height, _x.action_result.result.cloud.width,) = _struct_2I.unpack(str[start:end]) 00391 start = end 00392 end += 4 00393 (length,) = _struct_I.unpack(str[start:end]) 00394 self.action_result.result.cloud.fields = [] 00395 for i in range(0, length): 00396 val1 = sensor_msgs.msg.PointField() 00397 start = end 00398 end += 4 00399 (length,) = _struct_I.unpack(str[start:end]) 00400 start = end 00401 end += length 00402 val1.name = str[start:end] 00403 _x = val1 00404 start = end 00405 end += 9 00406 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00407 self.action_result.result.cloud.fields.append(val1) 00408 _x = self 00409 start = end 00410 end += 9 00411 (_x.action_result.result.cloud.is_bigendian, _x.action_result.result.cloud.point_step, _x.action_result.result.cloud.row_step,) = _struct_B2I.unpack(str[start:end]) 00412 self.action_result.result.cloud.is_bigendian = bool(self.action_result.result.cloud.is_bigendian) 00413 start = end 00414 end += 4 00415 (length,) = _struct_I.unpack(str[start:end]) 00416 start = end 00417 end += length 00418 self.action_result.result.cloud.data = str[start:end] 00419 _x = self 00420 start = end 00421 end += 13 00422 (_x.action_result.result.cloud.is_dense, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00423 self.action_result.result.cloud.is_dense = bool(self.action_result.result.cloud.is_dense) 00424 start = end 00425 end += 4 00426 (length,) = _struct_I.unpack(str[start:end]) 00427 start = end 00428 end += length 00429 self.action_feedback.header.frame_id = str[start:end] 00430 _x = self 00431 start = end 00432 end += 8 00433 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00434 start = end 00435 end += 4 00436 (length,) = _struct_I.unpack(str[start:end]) 00437 start = end 00438 end += length 00439 self.action_feedback.status.goal_id.id = str[start:end] 00440 start = end 00441 end += 1 00442 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00443 start = end 00444 end += 4 00445 (length,) = _struct_I.unpack(str[start:end]) 00446 start = end 00447 end += length 00448 self.action_feedback.status.text = str[start:end] 00449 _x = self 00450 start = end 00451 end += 12 00452 (_x.action_feedback.feedback.cloud.header.seq, _x.action_feedback.feedback.cloud.header.stamp.secs, _x.action_feedback.feedback.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00453 start = end 00454 end += 4 00455 (length,) = _struct_I.unpack(str[start:end]) 00456 start = end 00457 end += length 00458 self.action_feedback.feedback.cloud.header.frame_id = str[start:end] 00459 _x = self 00460 start = end 00461 end += 8 00462 (_x.action_feedback.feedback.cloud.height, _x.action_feedback.feedback.cloud.width,) = _struct_2I.unpack(str[start:end]) 00463 start = end 00464 end += 4 00465 (length,) = _struct_I.unpack(str[start:end]) 00466 self.action_feedback.feedback.cloud.fields = [] 00467 for i in range(0, length): 00468 val1 = sensor_msgs.msg.PointField() 00469 start = end 00470 end += 4 00471 (length,) = _struct_I.unpack(str[start:end]) 00472 start = end 00473 end += length 00474 val1.name = str[start:end] 00475 _x = val1 00476 start = end 00477 end += 9 00478 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00479 self.action_feedback.feedback.cloud.fields.append(val1) 00480 _x = self 00481 start = end 00482 end += 9 00483 (_x.action_feedback.feedback.cloud.is_bigendian, _x.action_feedback.feedback.cloud.point_step, _x.action_feedback.feedback.cloud.row_step,) = _struct_B2I.unpack(str[start:end]) 00484 self.action_feedback.feedback.cloud.is_bigendian = bool(self.action_feedback.feedback.cloud.is_bigendian) 00485 start = end 00486 end += 4 00487 (length,) = _struct_I.unpack(str[start:end]) 00488 start = end 00489 end += length 00490 self.action_feedback.feedback.cloud.data = str[start:end] 00491 start = end 00492 end += 1 00493 (self.action_feedback.feedback.cloud.is_dense,) = _struct_B.unpack(str[start:end]) 00494 self.action_feedback.feedback.cloud.is_dense = bool(self.action_feedback.feedback.cloud.is_dense) 00495 return self 00496 except struct.error as e: 00497 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00498 00499 00500 def serialize_numpy(self, buff, numpy): 00501 """ 00502 serialize message with numpy array types into buffer 00503 @param buff: buffer 00504 @type buff: StringIO 00505 @param numpy: numpy python module 00506 @type numpy module 00507 """ 00508 try: 00509 _x = self 00510 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00511 _x = self.action_goal.header.frame_id 00512 length = len(_x) 00513 buff.write(struct.pack('<I%ss'%length, length, _x)) 00514 _x = self 00515 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00516 _x = self.action_goal.goal_id.id 00517 length = len(_x) 00518 buff.write(struct.pack('<I%ss'%length, length, _x)) 00519 _x = self 00520 buff.write(_struct_3f2B3I.pack(_x.action_goal.goal.start_angle, _x.action_goal.goal.end_angle, _x.action_goal.goal.speed, _x.action_goal.goal.hi_fidelity, _x.action_goal.goal.continuous, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00521 _x = self.action_result.header.frame_id 00522 length = len(_x) 00523 buff.write(struct.pack('<I%ss'%length, length, _x)) 00524 _x = self 00525 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00526 _x = self.action_result.status.goal_id.id 00527 length = len(_x) 00528 buff.write(struct.pack('<I%ss'%length, length, _x)) 00529 buff.write(_struct_B.pack(self.action_result.status.status)) 00530 _x = self.action_result.status.text 00531 length = len(_x) 00532 buff.write(struct.pack('<I%ss'%length, length, _x)) 00533 _x = self 00534 buff.write(_struct_3I.pack(_x.action_result.result.cloud.header.seq, _x.action_result.result.cloud.header.stamp.secs, _x.action_result.result.cloud.header.stamp.nsecs)) 00535 _x = self.action_result.result.cloud.header.frame_id 00536 length = len(_x) 00537 buff.write(struct.pack('<I%ss'%length, length, _x)) 00538 _x = self 00539 buff.write(_struct_2I.pack(_x.action_result.result.cloud.height, _x.action_result.result.cloud.width)) 00540 length = len(self.action_result.result.cloud.fields) 00541 buff.write(_struct_I.pack(length)) 00542 for val1 in self.action_result.result.cloud.fields: 00543 _x = val1.name 00544 length = len(_x) 00545 buff.write(struct.pack('<I%ss'%length, length, _x)) 00546 _x = val1 00547 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00548 _x = self 00549 buff.write(_struct_B2I.pack(_x.action_result.result.cloud.is_bigendian, _x.action_result.result.cloud.point_step, _x.action_result.result.cloud.row_step)) 00550 _x = self.action_result.result.cloud.data 00551 length = len(_x) 00552 # - if encoded as a list instead, serialize as bytes instead of string 00553 if type(_x) in [list, tuple]: 00554 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00555 else: 00556 buff.write(struct.pack('<I%ss'%length, length, _x)) 00557 _x = self 00558 buff.write(_struct_B3I.pack(_x.action_result.result.cloud.is_dense, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00559 _x = self.action_feedback.header.frame_id 00560 length = len(_x) 00561 buff.write(struct.pack('<I%ss'%length, length, _x)) 00562 _x = self 00563 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00564 _x = self.action_feedback.status.goal_id.id 00565 length = len(_x) 00566 buff.write(struct.pack('<I%ss'%length, length, _x)) 00567 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00568 _x = self.action_feedback.status.text 00569 length = len(_x) 00570 buff.write(struct.pack('<I%ss'%length, length, _x)) 00571 _x = self 00572 buff.write(_struct_3I.pack(_x.action_feedback.feedback.cloud.header.seq, _x.action_feedback.feedback.cloud.header.stamp.secs, _x.action_feedback.feedback.cloud.header.stamp.nsecs)) 00573 _x = self.action_feedback.feedback.cloud.header.frame_id 00574 length = len(_x) 00575 buff.write(struct.pack('<I%ss'%length, length, _x)) 00576 _x = self 00577 buff.write(_struct_2I.pack(_x.action_feedback.feedback.cloud.height, _x.action_feedback.feedback.cloud.width)) 00578 length = len(self.action_feedback.feedback.cloud.fields) 00579 buff.write(_struct_I.pack(length)) 00580 for val1 in self.action_feedback.feedback.cloud.fields: 00581 _x = val1.name 00582 length = len(_x) 00583 buff.write(struct.pack('<I%ss'%length, length, _x)) 00584 _x = val1 00585 buff.write(_struct_IBI.pack(_x.offset, _x.datatype, _x.count)) 00586 _x = self 00587 buff.write(_struct_B2I.pack(_x.action_feedback.feedback.cloud.is_bigendian, _x.action_feedback.feedback.cloud.point_step, _x.action_feedback.feedback.cloud.row_step)) 00588 _x = self.action_feedback.feedback.cloud.data 00589 length = len(_x) 00590 # - if encoded as a list instead, serialize as bytes instead of string 00591 if type(_x) in [list, tuple]: 00592 buff.write(struct.pack('<I%sB'%length, length, *_x)) 00593 else: 00594 buff.write(struct.pack('<I%ss'%length, length, _x)) 00595 buff.write(_struct_B.pack(self.action_feedback.feedback.cloud.is_dense)) 00596 except struct.error as se: self._check_types(se) 00597 except TypeError as te: self._check_types(te) 00598 00599 def deserialize_numpy(self, str, numpy): 00600 """ 00601 unpack serialized message in str into this message instance using numpy for array types 00602 @param str: byte array of serialized message 00603 @type str: str 00604 @param numpy: numpy python module 00605 @type numpy: module 00606 """ 00607 try: 00608 if self.action_goal is None: 00609 self.action_goal = pr2_tilt_laser_interface.msg.GetSnapshotActionGoal() 00610 if self.action_result is None: 00611 self.action_result = pr2_tilt_laser_interface.msg.GetSnapshotActionResult() 00612 if self.action_feedback is None: 00613 self.action_feedback = pr2_tilt_laser_interface.msg.GetSnapshotActionFeedback() 00614 end = 0 00615 _x = self 00616 start = end 00617 end += 12 00618 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00619 start = end 00620 end += 4 00621 (length,) = _struct_I.unpack(str[start:end]) 00622 start = end 00623 end += length 00624 self.action_goal.header.frame_id = str[start:end] 00625 _x = self 00626 start = end 00627 end += 8 00628 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00629 start = end 00630 end += 4 00631 (length,) = _struct_I.unpack(str[start:end]) 00632 start = end 00633 end += length 00634 self.action_goal.goal_id.id = str[start:end] 00635 _x = self 00636 start = end 00637 end += 26 00638 (_x.action_goal.goal.start_angle, _x.action_goal.goal.end_angle, _x.action_goal.goal.speed, _x.action_goal.goal.hi_fidelity, _x.action_goal.goal.continuous, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3f2B3I.unpack(str[start:end]) 00639 self.action_goal.goal.hi_fidelity = bool(self.action_goal.goal.hi_fidelity) 00640 self.action_goal.goal.continuous = bool(self.action_goal.goal.continuous) 00641 start = end 00642 end += 4 00643 (length,) = _struct_I.unpack(str[start:end]) 00644 start = end 00645 end += length 00646 self.action_result.header.frame_id = str[start:end] 00647 _x = self 00648 start = end 00649 end += 8 00650 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00651 start = end 00652 end += 4 00653 (length,) = _struct_I.unpack(str[start:end]) 00654 start = end 00655 end += length 00656 self.action_result.status.goal_id.id = str[start:end] 00657 start = end 00658 end += 1 00659 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00660 start = end 00661 end += 4 00662 (length,) = _struct_I.unpack(str[start:end]) 00663 start = end 00664 end += length 00665 self.action_result.status.text = str[start:end] 00666 _x = self 00667 start = end 00668 end += 12 00669 (_x.action_result.result.cloud.header.seq, _x.action_result.result.cloud.header.stamp.secs, _x.action_result.result.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00670 start = end 00671 end += 4 00672 (length,) = _struct_I.unpack(str[start:end]) 00673 start = end 00674 end += length 00675 self.action_result.result.cloud.header.frame_id = str[start:end] 00676 _x = self 00677 start = end 00678 end += 8 00679 (_x.action_result.result.cloud.height, _x.action_result.result.cloud.width,) = _struct_2I.unpack(str[start:end]) 00680 start = end 00681 end += 4 00682 (length,) = _struct_I.unpack(str[start:end]) 00683 self.action_result.result.cloud.fields = [] 00684 for i in range(0, length): 00685 val1 = sensor_msgs.msg.PointField() 00686 start = end 00687 end += 4 00688 (length,) = _struct_I.unpack(str[start:end]) 00689 start = end 00690 end += length 00691 val1.name = str[start:end] 00692 _x = val1 00693 start = end 00694 end += 9 00695 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00696 self.action_result.result.cloud.fields.append(val1) 00697 _x = self 00698 start = end 00699 end += 9 00700 (_x.action_result.result.cloud.is_bigendian, _x.action_result.result.cloud.point_step, _x.action_result.result.cloud.row_step,) = _struct_B2I.unpack(str[start:end]) 00701 self.action_result.result.cloud.is_bigendian = bool(self.action_result.result.cloud.is_bigendian) 00702 start = end 00703 end += 4 00704 (length,) = _struct_I.unpack(str[start:end]) 00705 start = end 00706 end += length 00707 self.action_result.result.cloud.data = str[start:end] 00708 _x = self 00709 start = end 00710 end += 13 00711 (_x.action_result.result.cloud.is_dense, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00712 self.action_result.result.cloud.is_dense = bool(self.action_result.result.cloud.is_dense) 00713 start = end 00714 end += 4 00715 (length,) = _struct_I.unpack(str[start:end]) 00716 start = end 00717 end += length 00718 self.action_feedback.header.frame_id = str[start:end] 00719 _x = self 00720 start = end 00721 end += 8 00722 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00723 start = end 00724 end += 4 00725 (length,) = _struct_I.unpack(str[start:end]) 00726 start = end 00727 end += length 00728 self.action_feedback.status.goal_id.id = str[start:end] 00729 start = end 00730 end += 1 00731 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00732 start = end 00733 end += 4 00734 (length,) = _struct_I.unpack(str[start:end]) 00735 start = end 00736 end += length 00737 self.action_feedback.status.text = str[start:end] 00738 _x = self 00739 start = end 00740 end += 12 00741 (_x.action_feedback.feedback.cloud.header.seq, _x.action_feedback.feedback.cloud.header.stamp.secs, _x.action_feedback.feedback.cloud.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00742 start = end 00743 end += 4 00744 (length,) = _struct_I.unpack(str[start:end]) 00745 start = end 00746 end += length 00747 self.action_feedback.feedback.cloud.header.frame_id = str[start:end] 00748 _x = self 00749 start = end 00750 end += 8 00751 (_x.action_feedback.feedback.cloud.height, _x.action_feedback.feedback.cloud.width,) = _struct_2I.unpack(str[start:end]) 00752 start = end 00753 end += 4 00754 (length,) = _struct_I.unpack(str[start:end]) 00755 self.action_feedback.feedback.cloud.fields = [] 00756 for i in range(0, length): 00757 val1 = sensor_msgs.msg.PointField() 00758 start = end 00759 end += 4 00760 (length,) = _struct_I.unpack(str[start:end]) 00761 start = end 00762 end += length 00763 val1.name = str[start:end] 00764 _x = val1 00765 start = end 00766 end += 9 00767 (_x.offset, _x.datatype, _x.count,) = _struct_IBI.unpack(str[start:end]) 00768 self.action_feedback.feedback.cloud.fields.append(val1) 00769 _x = self 00770 start = end 00771 end += 9 00772 (_x.action_feedback.feedback.cloud.is_bigendian, _x.action_feedback.feedback.cloud.point_step, _x.action_feedback.feedback.cloud.row_step,) = _struct_B2I.unpack(str[start:end]) 00773 self.action_feedback.feedback.cloud.is_bigendian = bool(self.action_feedback.feedback.cloud.is_bigendian) 00774 start = end 00775 end += 4 00776 (length,) = _struct_I.unpack(str[start:end]) 00777 start = end 00778 end += length 00779 self.action_feedback.feedback.cloud.data = str[start:end] 00780 start = end 00781 end += 1 00782 (self.action_feedback.feedback.cloud.is_dense,) = _struct_B.unpack(str[start:end]) 00783 self.action_feedback.feedback.cloud.is_dense = bool(self.action_feedback.feedback.cloud.is_dense) 00784 return self 00785 except struct.error as e: 00786 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00787 00788 _struct_I = roslib.message.struct_I 00789 _struct_IBI = struct.Struct("<IBI") 00790 _struct_B = struct.Struct("<B") 00791 _struct_3I = struct.Struct("<3I") 00792 _struct_3f2B3I = struct.Struct("<3f2B3I") 00793 _struct_B2I = struct.Struct("<B2I") 00794 _struct_2I = struct.Struct("<2I") 00795 _struct_B3I = struct.Struct("<B3I")