$search
00001 """autogenerated by genmsg_py from BlinkAction.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import roslib.rostime 00006 import nao_msgs.msg 00007 import actionlib_msgs.msg 00008 import std_msgs.msg 00009 00010 class BlinkAction(roslib.message.Message): 00011 _md5sum = "c03ab9992d56528894da7d19c515fc49" 00012 _type = "nao_msgs/BlinkAction" 00013 _has_header = False #flag to mark the presence of a Header object 00014 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00015 00016 BlinkActionGoal action_goal 00017 BlinkActionResult action_result 00018 BlinkActionFeedback action_feedback 00019 00020 ================================================================================ 00021 MSG: nao_msgs/BlinkActionGoal 00022 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00023 00024 Header header 00025 actionlib_msgs/GoalID goal_id 00026 BlinkGoal goal 00027 00028 ================================================================================ 00029 MSG: std_msgs/Header 00030 # Standard metadata for higher-level stamped data types. 00031 # This is generally used to communicate timestamped data 00032 # in a particular coordinate frame. 00033 # 00034 # sequence ID: consecutively increasing ID 00035 uint32 seq 00036 #Two-integer timestamp that is expressed as: 00037 # * stamp.secs: seconds (stamp_secs) since epoch 00038 # * stamp.nsecs: nanoseconds since stamp_secs 00039 # time-handling sugar is provided by the client library 00040 time stamp 00041 #Frame this data is associated with 00042 # 0: no frame 00043 # 1: global frame 00044 string frame_id 00045 00046 ================================================================================ 00047 MSG: actionlib_msgs/GoalID 00048 # The stamp should store the time at which this goal was requested. 00049 # It is used by an action server when it tries to preempt all 00050 # goals that were requested before a certain time 00051 time stamp 00052 00053 # The id provides a way to associate feedback and 00054 # result message with specific goal requests. The id 00055 # specified must be unique. 00056 string id 00057 00058 00059 ================================================================================ 00060 MSG: nao_msgs/BlinkGoal 00061 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00062 # Goal: colours to use for blinking, plus blinking rate mean and sd 00063 # Result: true if robot is still blinking (call was pre-empted by another user) 00064 # Feedback: last blinked colour 00065 std_msgs/ColorRGBA[] colors 00066 std_msgs/ColorRGBA bg_color 00067 duration blink_duration 00068 float32 blink_rate_mean 00069 float32 blink_rate_sd 00070 00071 ================================================================================ 00072 MSG: std_msgs/ColorRGBA 00073 float32 r 00074 float32 g 00075 float32 b 00076 float32 a 00077 00078 ================================================================================ 00079 MSG: nao_msgs/BlinkActionResult 00080 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00081 00082 Header header 00083 actionlib_msgs/GoalStatus status 00084 BlinkResult result 00085 00086 ================================================================================ 00087 MSG: actionlib_msgs/GoalStatus 00088 GoalID goal_id 00089 uint8 status 00090 uint8 PENDING = 0 # The goal has yet to be processed by the action server 00091 uint8 ACTIVE = 1 # The goal is currently being processed by the action server 00092 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing 00093 # and has since completed its execution (Terminal State) 00094 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) 00095 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due 00096 # to some failure (Terminal State) 00097 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, 00098 # because the goal was unattainable or invalid (Terminal State) 00099 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing 00100 # and has not yet completed execution 00101 uint8 RECALLING = 7 # The goal received a cancel request before it started executing, 00102 # but the action server has not yet confirmed that the goal is canceled 00103 uint8 RECALLED = 8 # The goal received a cancel request before it started executing 00104 # and was successfully cancelled (Terminal State) 00105 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be 00106 # sent over the wire by an action server 00107 00108 #Allow for the user to associate a string with GoalStatus for debugging 00109 string text 00110 00111 00112 ================================================================================ 00113 MSG: nao_msgs/BlinkResult 00114 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00115 bool still_blinking 00116 00117 ================================================================================ 00118 MSG: nao_msgs/BlinkActionFeedback 00119 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00120 00121 Header header 00122 actionlib_msgs/GoalStatus status 00123 BlinkFeedback feedback 00124 00125 ================================================================================ 00126 MSG: nao_msgs/BlinkFeedback 00127 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00128 std_msgs/ColorRGBA last_color 00129 00130 00131 """ 00132 __slots__ = ['action_goal','action_result','action_feedback'] 00133 _slot_types = ['nao_msgs/BlinkActionGoal','nao_msgs/BlinkActionResult','nao_msgs/BlinkActionFeedback'] 00134 00135 def __init__(self, *args, **kwds): 00136 """ 00137 Constructor. Any message fields that are implicitly/explicitly 00138 set to None will be assigned a default value. The recommend 00139 use is keyword arguments as this is more robust to future message 00140 changes. You cannot mix in-order arguments and keyword arguments. 00141 00142 The available fields are: 00143 action_goal,action_result,action_feedback 00144 00145 @param args: complete set of field values, in .msg order 00146 @param kwds: use keyword arguments corresponding to message field names 00147 to set specific fields. 00148 """ 00149 if args or kwds: 00150 super(BlinkAction, self).__init__(*args, **kwds) 00151 #message fields cannot be None, assign default values for those that are 00152 if self.action_goal is None: 00153 self.action_goal = nao_msgs.msg.BlinkActionGoal() 00154 if self.action_result is None: 00155 self.action_result = nao_msgs.msg.BlinkActionResult() 00156 if self.action_feedback is None: 00157 self.action_feedback = nao_msgs.msg.BlinkActionFeedback() 00158 else: 00159 self.action_goal = nao_msgs.msg.BlinkActionGoal() 00160 self.action_result = nao_msgs.msg.BlinkActionResult() 00161 self.action_feedback = nao_msgs.msg.BlinkActionFeedback() 00162 00163 def _get_types(self): 00164 """ 00165 internal API method 00166 """ 00167 return self._slot_types 00168 00169 def serialize(self, buff): 00170 """ 00171 serialize message into buffer 00172 @param buff: buffer 00173 @type buff: StringIO 00174 """ 00175 try: 00176 _x = self 00177 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00178 _x = self.action_goal.header.frame_id 00179 length = len(_x) 00180 buff.write(struct.pack('<I%ss'%length, length, _x)) 00181 _x = self 00182 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00183 _x = self.action_goal.goal_id.id 00184 length = len(_x) 00185 buff.write(struct.pack('<I%ss'%length, length, _x)) 00186 length = len(self.action_goal.goal.colors) 00187 buff.write(_struct_I.pack(length)) 00188 for val1 in self.action_goal.goal.colors: 00189 _x = val1 00190 buff.write(_struct_4f.pack(_x.r, _x.g, _x.b, _x.a)) 00191 _x = self 00192 buff.write(_struct_4f2i2f3I.pack(_x.action_goal.goal.bg_color.r, _x.action_goal.goal.bg_color.g, _x.action_goal.goal.bg_color.b, _x.action_goal.goal.bg_color.a, _x.action_goal.goal.blink_duration.secs, _x.action_goal.goal.blink_duration.nsecs, _x.action_goal.goal.blink_rate_mean, _x.action_goal.goal.blink_rate_sd, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00193 _x = self.action_result.header.frame_id 00194 length = len(_x) 00195 buff.write(struct.pack('<I%ss'%length, length, _x)) 00196 _x = self 00197 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00198 _x = self.action_result.status.goal_id.id 00199 length = len(_x) 00200 buff.write(struct.pack('<I%ss'%length, length, _x)) 00201 buff.write(_struct_B.pack(self.action_result.status.status)) 00202 _x = self.action_result.status.text 00203 length = len(_x) 00204 buff.write(struct.pack('<I%ss'%length, length, _x)) 00205 _x = self 00206 buff.write(_struct_B3I.pack(_x.action_result.result.still_blinking, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00207 _x = self.action_feedback.header.frame_id 00208 length = len(_x) 00209 buff.write(struct.pack('<I%ss'%length, length, _x)) 00210 _x = self 00211 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00212 _x = self.action_feedback.status.goal_id.id 00213 length = len(_x) 00214 buff.write(struct.pack('<I%ss'%length, length, _x)) 00215 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00216 _x = self.action_feedback.status.text 00217 length = len(_x) 00218 buff.write(struct.pack('<I%ss'%length, length, _x)) 00219 _x = self 00220 buff.write(_struct_4f.pack(_x.action_feedback.feedback.last_color.r, _x.action_feedback.feedback.last_color.g, _x.action_feedback.feedback.last_color.b, _x.action_feedback.feedback.last_color.a)) 00221 except struct.error as se: self._check_types(se) 00222 except TypeError as te: self._check_types(te) 00223 00224 def deserialize(self, str): 00225 """ 00226 unpack serialized message in str into this message instance 00227 @param str: byte array of serialized message 00228 @type str: str 00229 """ 00230 try: 00231 if self.action_goal is None: 00232 self.action_goal = nao_msgs.msg.BlinkActionGoal() 00233 if self.action_result is None: 00234 self.action_result = nao_msgs.msg.BlinkActionResult() 00235 if self.action_feedback is None: 00236 self.action_feedback = nao_msgs.msg.BlinkActionFeedback() 00237 end = 0 00238 _x = self 00239 start = end 00240 end += 12 00241 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00242 start = end 00243 end += 4 00244 (length,) = _struct_I.unpack(str[start:end]) 00245 start = end 00246 end += length 00247 self.action_goal.header.frame_id = str[start:end] 00248 _x = self 00249 start = end 00250 end += 8 00251 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00252 start = end 00253 end += 4 00254 (length,) = _struct_I.unpack(str[start:end]) 00255 start = end 00256 end += length 00257 self.action_goal.goal_id.id = str[start:end] 00258 start = end 00259 end += 4 00260 (length,) = _struct_I.unpack(str[start:end]) 00261 self.action_goal.goal.colors = [] 00262 for i in range(0, length): 00263 val1 = std_msgs.msg.ColorRGBA() 00264 _x = val1 00265 start = end 00266 end += 16 00267 (_x.r, _x.g, _x.b, _x.a,) = _struct_4f.unpack(str[start:end]) 00268 self.action_goal.goal.colors.append(val1) 00269 _x = self 00270 start = end 00271 end += 44 00272 (_x.action_goal.goal.bg_color.r, _x.action_goal.goal.bg_color.g, _x.action_goal.goal.bg_color.b, _x.action_goal.goal.bg_color.a, _x.action_goal.goal.blink_duration.secs, _x.action_goal.goal.blink_duration.nsecs, _x.action_goal.goal.blink_rate_mean, _x.action_goal.goal.blink_rate_sd, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_4f2i2f3I.unpack(str[start:end]) 00273 start = end 00274 end += 4 00275 (length,) = _struct_I.unpack(str[start:end]) 00276 start = end 00277 end += length 00278 self.action_result.header.frame_id = str[start:end] 00279 _x = self 00280 start = end 00281 end += 8 00282 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00283 start = end 00284 end += 4 00285 (length,) = _struct_I.unpack(str[start:end]) 00286 start = end 00287 end += length 00288 self.action_result.status.goal_id.id = str[start:end] 00289 start = end 00290 end += 1 00291 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00292 start = end 00293 end += 4 00294 (length,) = _struct_I.unpack(str[start:end]) 00295 start = end 00296 end += length 00297 self.action_result.status.text = str[start:end] 00298 _x = self 00299 start = end 00300 end += 13 00301 (_x.action_result.result.still_blinking, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00302 self.action_result.result.still_blinking = bool(self.action_result.result.still_blinking) 00303 start = end 00304 end += 4 00305 (length,) = _struct_I.unpack(str[start:end]) 00306 start = end 00307 end += length 00308 self.action_feedback.header.frame_id = str[start:end] 00309 _x = self 00310 start = end 00311 end += 8 00312 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00313 start = end 00314 end += 4 00315 (length,) = _struct_I.unpack(str[start:end]) 00316 start = end 00317 end += length 00318 self.action_feedback.status.goal_id.id = str[start:end] 00319 start = end 00320 end += 1 00321 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00322 start = end 00323 end += 4 00324 (length,) = _struct_I.unpack(str[start:end]) 00325 start = end 00326 end += length 00327 self.action_feedback.status.text = str[start:end] 00328 _x = self 00329 start = end 00330 end += 16 00331 (_x.action_feedback.feedback.last_color.r, _x.action_feedback.feedback.last_color.g, _x.action_feedback.feedback.last_color.b, _x.action_feedback.feedback.last_color.a,) = _struct_4f.unpack(str[start:end]) 00332 return self 00333 except struct.error as e: 00334 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00335 00336 00337 def serialize_numpy(self, buff, numpy): 00338 """ 00339 serialize message with numpy array types into buffer 00340 @param buff: buffer 00341 @type buff: StringIO 00342 @param numpy: numpy python module 00343 @type numpy module 00344 """ 00345 try: 00346 _x = self 00347 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00348 _x = self.action_goal.header.frame_id 00349 length = len(_x) 00350 buff.write(struct.pack('<I%ss'%length, length, _x)) 00351 _x = self 00352 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00353 _x = self.action_goal.goal_id.id 00354 length = len(_x) 00355 buff.write(struct.pack('<I%ss'%length, length, _x)) 00356 length = len(self.action_goal.goal.colors) 00357 buff.write(_struct_I.pack(length)) 00358 for val1 in self.action_goal.goal.colors: 00359 _x = val1 00360 buff.write(_struct_4f.pack(_x.r, _x.g, _x.b, _x.a)) 00361 _x = self 00362 buff.write(_struct_4f2i2f3I.pack(_x.action_goal.goal.bg_color.r, _x.action_goal.goal.bg_color.g, _x.action_goal.goal.bg_color.b, _x.action_goal.goal.bg_color.a, _x.action_goal.goal.blink_duration.secs, _x.action_goal.goal.blink_duration.nsecs, _x.action_goal.goal.blink_rate_mean, _x.action_goal.goal.blink_rate_sd, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00363 _x = self.action_result.header.frame_id 00364 length = len(_x) 00365 buff.write(struct.pack('<I%ss'%length, length, _x)) 00366 _x = self 00367 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00368 _x = self.action_result.status.goal_id.id 00369 length = len(_x) 00370 buff.write(struct.pack('<I%ss'%length, length, _x)) 00371 buff.write(_struct_B.pack(self.action_result.status.status)) 00372 _x = self.action_result.status.text 00373 length = len(_x) 00374 buff.write(struct.pack('<I%ss'%length, length, _x)) 00375 _x = self 00376 buff.write(_struct_B3I.pack(_x.action_result.result.still_blinking, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00377 _x = self.action_feedback.header.frame_id 00378 length = len(_x) 00379 buff.write(struct.pack('<I%ss'%length, length, _x)) 00380 _x = self 00381 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00382 _x = self.action_feedback.status.goal_id.id 00383 length = len(_x) 00384 buff.write(struct.pack('<I%ss'%length, length, _x)) 00385 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00386 _x = self.action_feedback.status.text 00387 length = len(_x) 00388 buff.write(struct.pack('<I%ss'%length, length, _x)) 00389 _x = self 00390 buff.write(_struct_4f.pack(_x.action_feedback.feedback.last_color.r, _x.action_feedback.feedback.last_color.g, _x.action_feedback.feedback.last_color.b, _x.action_feedback.feedback.last_color.a)) 00391 except struct.error as se: self._check_types(se) 00392 except TypeError as te: self._check_types(te) 00393 00394 def deserialize_numpy(self, str, numpy): 00395 """ 00396 unpack serialized message in str into this message instance using numpy for array types 00397 @param str: byte array of serialized message 00398 @type str: str 00399 @param numpy: numpy python module 00400 @type numpy: module 00401 """ 00402 try: 00403 if self.action_goal is None: 00404 self.action_goal = nao_msgs.msg.BlinkActionGoal() 00405 if self.action_result is None: 00406 self.action_result = nao_msgs.msg.BlinkActionResult() 00407 if self.action_feedback is None: 00408 self.action_feedback = nao_msgs.msg.BlinkActionFeedback() 00409 end = 0 00410 _x = self 00411 start = end 00412 end += 12 00413 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00414 start = end 00415 end += 4 00416 (length,) = _struct_I.unpack(str[start:end]) 00417 start = end 00418 end += length 00419 self.action_goal.header.frame_id = str[start:end] 00420 _x = self 00421 start = end 00422 end += 8 00423 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00424 start = end 00425 end += 4 00426 (length,) = _struct_I.unpack(str[start:end]) 00427 start = end 00428 end += length 00429 self.action_goal.goal_id.id = str[start:end] 00430 start = end 00431 end += 4 00432 (length,) = _struct_I.unpack(str[start:end]) 00433 self.action_goal.goal.colors = [] 00434 for i in range(0, length): 00435 val1 = std_msgs.msg.ColorRGBA() 00436 _x = val1 00437 start = end 00438 end += 16 00439 (_x.r, _x.g, _x.b, _x.a,) = _struct_4f.unpack(str[start:end]) 00440 self.action_goal.goal.colors.append(val1) 00441 _x = self 00442 start = end 00443 end += 44 00444 (_x.action_goal.goal.bg_color.r, _x.action_goal.goal.bg_color.g, _x.action_goal.goal.bg_color.b, _x.action_goal.goal.bg_color.a, _x.action_goal.goal.blink_duration.secs, _x.action_goal.goal.blink_duration.nsecs, _x.action_goal.goal.blink_rate_mean, _x.action_goal.goal.blink_rate_sd, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_4f2i2f3I.unpack(str[start:end]) 00445 start = end 00446 end += 4 00447 (length,) = _struct_I.unpack(str[start:end]) 00448 start = end 00449 end += length 00450 self.action_result.header.frame_id = str[start:end] 00451 _x = self 00452 start = end 00453 end += 8 00454 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00455 start = end 00456 end += 4 00457 (length,) = _struct_I.unpack(str[start:end]) 00458 start = end 00459 end += length 00460 self.action_result.status.goal_id.id = str[start:end] 00461 start = end 00462 end += 1 00463 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00464 start = end 00465 end += 4 00466 (length,) = _struct_I.unpack(str[start:end]) 00467 start = end 00468 end += length 00469 self.action_result.status.text = str[start:end] 00470 _x = self 00471 start = end 00472 end += 13 00473 (_x.action_result.result.still_blinking, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end]) 00474 self.action_result.result.still_blinking = bool(self.action_result.result.still_blinking) 00475 start = end 00476 end += 4 00477 (length,) = _struct_I.unpack(str[start:end]) 00478 start = end 00479 end += length 00480 self.action_feedback.header.frame_id = str[start:end] 00481 _x = self 00482 start = end 00483 end += 8 00484 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00485 start = end 00486 end += 4 00487 (length,) = _struct_I.unpack(str[start:end]) 00488 start = end 00489 end += length 00490 self.action_feedback.status.goal_id.id = str[start:end] 00491 start = end 00492 end += 1 00493 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00494 start = end 00495 end += 4 00496 (length,) = _struct_I.unpack(str[start:end]) 00497 start = end 00498 end += length 00499 self.action_feedback.status.text = str[start:end] 00500 _x = self 00501 start = end 00502 end += 16 00503 (_x.action_feedback.feedback.last_color.r, _x.action_feedback.feedback.last_color.g, _x.action_feedback.feedback.last_color.b, _x.action_feedback.feedback.last_color.a,) = _struct_4f.unpack(str[start:end]) 00504 return self 00505 except struct.error as e: 00506 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00507 00508 _struct_I = roslib.message.struct_I 00509 _struct_B = struct.Struct("<B") 00510 _struct_3I = struct.Struct("<3I") 00511 _struct_B3I = struct.Struct("<B3I") 00512 _struct_4f = struct.Struct("<4f") 00513 _struct_4f2i2f3I = struct.Struct("<4f2i2f3I") 00514 _struct_2I = struct.Struct("<2I")