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
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
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
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
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, se: self._check_types(se)
00310 except TypeError, 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 xrange(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 xrange(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, e:
00497 raise roslib.message.DeserializationError(e)
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
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
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, se: self._check_types(se)
00597 except TypeError, 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 xrange(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 xrange(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, e:
00786 raise roslib.message.DeserializationError(e)
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")