00001 """autogenerated by genpy from nasa_r2_common_msgs/PoseTrajectoryReplan.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import geometry_msgs.msg
00008 import nasa_r2_common_msgs.msg
00009 import genpy
00010 import std_msgs.msg
00011
00012 class PoseTrajectoryReplan(genpy.Message):
00013 _md5sum = "2c451df74f58d0f7ac206299290fa0f9"
00014 _type = "nasa_r2_common_msgs/PoseTrajectoryReplan"
00015 _has_header = True
00016 _full_text = """Header header
00017 ReplanType replan
00018 PoseTrajectory trajectory
00019
00020 ================================================================================
00021 MSG: std_msgs/Header
00022 # Standard metadata for higher-level stamped data types.
00023 # This is generally used to communicate timestamped data
00024 # in a particular coordinate frame.
00025 #
00026 # sequence ID: consecutively increasing ID
00027 uint32 seq
00028 #Two-integer timestamp that is expressed as:
00029 # * stamp.secs: seconds (stamp_secs) since epoch
00030 # * stamp.nsecs: nanoseconds since stamp_secs
00031 # time-handling sugar is provided by the client library
00032 time stamp
00033 #Frame this data is associated with
00034 # 0: no frame
00035 # 1: global frame
00036 string frame_id
00037
00038 ================================================================================
00039 MSG: nasa_r2_common_msgs/ReplanType
00040 uint8 type
00041
00042 uint8 NONE = 0
00043 uint8 SOFT = 1
00044 uint8 HARD = 2
00045 uint8 STOP = 3
00046 uint8 PAUSE = 4
00047 uint8 CONTINUE = 5
00048
00049 ================================================================================
00050 MSG: nasa_r2_common_msgs/PoseTrajectory
00051 Header header
00052 # length of nodes must match length of poses in each point
00053 string[] nodes
00054 # priorities must have nodes length or be omitted which defaults all to HIGH
00055 PriorityArray[] node_priorities
00056 # refFrames must either have one item or be nodes length
00057 string[] refFrames
00058 PoseTrajectoryPoint[] points
00059
00060
00061 ================================================================================
00062 MSG: nasa_r2_common_msgs/PriorityArray
00063 # axis_priorities must be 0, 1, or 6 elements
00064 # empty defaults to high, 1 sets all axes equal priority, 6 sets each axis (x, y, z, r, p, y)
00065 uint8[] axis_priorities
00066
00067 uint8 IGNORE = 0 # Exclude from trajectory
00068 uint8 CRITICAL = 1 # Most important priority in trajectory
00069 uint8 HIGH = 2 # Second most important priority in trajectory
00070 uint8 MEDIUM = 3 # Medium prioirty in trajectory
00071 uint8 LOW = 4 # Low priority in trajectory
00072 uint8 OPT = 5 # Optimize trajectory (solve for, but do not iterate to achieve)
00073
00074 #uint8 IGNORE = 0
00075 #uint8 LOW = 1
00076 #uint8 MEDIUM = 128
00077 #uint8 HIGH = 254
00078 #uint8 CRITICAL = 255
00079
00080 ================================================================================
00081 MSG: nasa_r2_common_msgs/PoseTrajectoryPoint
00082 # currently, position only but could add velocity and acceleration later
00083 geometry_msgs/Pose[] positions
00084 geometry_msgs/Twist[] velocities
00085 geometry_msgs/Twist[] accelerations
00086 duration time_from_start
00087
00088 ================================================================================
00089 MSG: geometry_msgs/Pose
00090 # A representation of pose in free space, composed of postion and orientation.
00091 Point position
00092 Quaternion orientation
00093
00094 ================================================================================
00095 MSG: geometry_msgs/Point
00096 # This contains the position of a point in free space
00097 float64 x
00098 float64 y
00099 float64 z
00100
00101 ================================================================================
00102 MSG: geometry_msgs/Quaternion
00103 # This represents an orientation in free space in quaternion form.
00104
00105 float64 x
00106 float64 y
00107 float64 z
00108 float64 w
00109
00110 ================================================================================
00111 MSG: geometry_msgs/Twist
00112 # This expresses velocity in free space broken into its linear and angular parts.
00113 Vector3 linear
00114 Vector3 angular
00115
00116 ================================================================================
00117 MSG: geometry_msgs/Vector3
00118 # This represents a vector in free space.
00119
00120 float64 x
00121 float64 y
00122 float64 z
00123 """
00124 __slots__ = ['header','replan','trajectory']
00125 _slot_types = ['std_msgs/Header','nasa_r2_common_msgs/ReplanType','nasa_r2_common_msgs/PoseTrajectory']
00126
00127 def __init__(self, *args, **kwds):
00128 """
00129 Constructor. Any message fields that are implicitly/explicitly
00130 set to None will be assigned a default value. The recommend
00131 use is keyword arguments as this is more robust to future message
00132 changes. You cannot mix in-order arguments and keyword arguments.
00133
00134 The available fields are:
00135 header,replan,trajectory
00136
00137 :param args: complete set of field values, in .msg order
00138 :param kwds: use keyword arguments corresponding to message field names
00139 to set specific fields.
00140 """
00141 if args or kwds:
00142 super(PoseTrajectoryReplan, self).__init__(*args, **kwds)
00143
00144 if self.header is None:
00145 self.header = std_msgs.msg.Header()
00146 if self.replan is None:
00147 self.replan = nasa_r2_common_msgs.msg.ReplanType()
00148 if self.trajectory is None:
00149 self.trajectory = nasa_r2_common_msgs.msg.PoseTrajectory()
00150 else:
00151 self.header = std_msgs.msg.Header()
00152 self.replan = nasa_r2_common_msgs.msg.ReplanType()
00153 self.trajectory = nasa_r2_common_msgs.msg.PoseTrajectory()
00154
00155 def _get_types(self):
00156 """
00157 internal API method
00158 """
00159 return self._slot_types
00160
00161 def serialize(self, buff):
00162 """
00163 serialize message into buffer
00164 :param buff: buffer, ``StringIO``
00165 """
00166 try:
00167 _x = self
00168 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00169 _x = self.header.frame_id
00170 length = len(_x)
00171 if python3 or type(_x) == unicode:
00172 _x = _x.encode('utf-8')
00173 length = len(_x)
00174 buff.write(struct.pack('<I%ss'%length, length, _x))
00175 _x = self
00176 buff.write(_struct_B3I.pack(_x.replan.type, _x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs))
00177 _x = self.trajectory.header.frame_id
00178 length = len(_x)
00179 if python3 or type(_x) == unicode:
00180 _x = _x.encode('utf-8')
00181 length = len(_x)
00182 buff.write(struct.pack('<I%ss'%length, length, _x))
00183 length = len(self.trajectory.nodes)
00184 buff.write(_struct_I.pack(length))
00185 for val1 in self.trajectory.nodes:
00186 length = len(val1)
00187 if python3 or type(val1) == unicode:
00188 val1 = val1.encode('utf-8')
00189 length = len(val1)
00190 buff.write(struct.pack('<I%ss'%length, length, val1))
00191 length = len(self.trajectory.node_priorities)
00192 buff.write(_struct_I.pack(length))
00193 for val1 in self.trajectory.node_priorities:
00194 _x = val1.axis_priorities
00195 length = len(_x)
00196
00197 if type(_x) in [list, tuple]:
00198 buff.write(struct.pack('<I%sB'%length, length, *_x))
00199 else:
00200 buff.write(struct.pack('<I%ss'%length, length, _x))
00201 length = len(self.trajectory.refFrames)
00202 buff.write(_struct_I.pack(length))
00203 for val1 in self.trajectory.refFrames:
00204 length = len(val1)
00205 if python3 or type(val1) == unicode:
00206 val1 = val1.encode('utf-8')
00207 length = len(val1)
00208 buff.write(struct.pack('<I%ss'%length, length, val1))
00209 length = len(self.trajectory.points)
00210 buff.write(_struct_I.pack(length))
00211 for val1 in self.trajectory.points:
00212 length = len(val1.positions)
00213 buff.write(_struct_I.pack(length))
00214 for val2 in val1.positions:
00215 _v1 = val2.position
00216 _x = _v1
00217 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00218 _v2 = val2.orientation
00219 _x = _v2
00220 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00221 length = len(val1.velocities)
00222 buff.write(_struct_I.pack(length))
00223 for val2 in val1.velocities:
00224 _v3 = val2.linear
00225 _x = _v3
00226 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00227 _v4 = val2.angular
00228 _x = _v4
00229 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00230 length = len(val1.accelerations)
00231 buff.write(_struct_I.pack(length))
00232 for val2 in val1.accelerations:
00233 _v5 = val2.linear
00234 _x = _v5
00235 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00236 _v6 = val2.angular
00237 _x = _v6
00238 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00239 _v7 = val1.time_from_start
00240 _x = _v7
00241 buff.write(_struct_2i.pack(_x.secs, _x.nsecs))
00242 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00243 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00244
00245 def deserialize(self, str):
00246 """
00247 unpack serialized message in str into this message instance
00248 :param str: byte array of serialized message, ``str``
00249 """
00250 try:
00251 if self.header is None:
00252 self.header = std_msgs.msg.Header()
00253 if self.replan is None:
00254 self.replan = nasa_r2_common_msgs.msg.ReplanType()
00255 if self.trajectory is None:
00256 self.trajectory = nasa_r2_common_msgs.msg.PoseTrajectory()
00257 end = 0
00258 _x = self
00259 start = end
00260 end += 12
00261 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00262 start = end
00263 end += 4
00264 (length,) = _struct_I.unpack(str[start:end])
00265 start = end
00266 end += length
00267 if python3:
00268 self.header.frame_id = str[start:end].decode('utf-8')
00269 else:
00270 self.header.frame_id = str[start:end]
00271 _x = self
00272 start = end
00273 end += 13
00274 (_x.replan.type, _x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00275 start = end
00276 end += 4
00277 (length,) = _struct_I.unpack(str[start:end])
00278 start = end
00279 end += length
00280 if python3:
00281 self.trajectory.header.frame_id = str[start:end].decode('utf-8')
00282 else:
00283 self.trajectory.header.frame_id = str[start:end]
00284 start = end
00285 end += 4
00286 (length,) = _struct_I.unpack(str[start:end])
00287 self.trajectory.nodes = []
00288 for i in range(0, length):
00289 start = end
00290 end += 4
00291 (length,) = _struct_I.unpack(str[start:end])
00292 start = end
00293 end += length
00294 if python3:
00295 val1 = str[start:end].decode('utf-8')
00296 else:
00297 val1 = str[start:end]
00298 self.trajectory.nodes.append(val1)
00299 start = end
00300 end += 4
00301 (length,) = _struct_I.unpack(str[start:end])
00302 self.trajectory.node_priorities = []
00303 for i in range(0, length):
00304 val1 = nasa_r2_common_msgs.msg.PriorityArray()
00305 start = end
00306 end += 4
00307 (length,) = _struct_I.unpack(str[start:end])
00308 start = end
00309 end += length
00310 val1.axis_priorities = str[start:end]
00311 self.trajectory.node_priorities.append(val1)
00312 start = end
00313 end += 4
00314 (length,) = _struct_I.unpack(str[start:end])
00315 self.trajectory.refFrames = []
00316 for i in range(0, length):
00317 start = end
00318 end += 4
00319 (length,) = _struct_I.unpack(str[start:end])
00320 start = end
00321 end += length
00322 if python3:
00323 val1 = str[start:end].decode('utf-8')
00324 else:
00325 val1 = str[start:end]
00326 self.trajectory.refFrames.append(val1)
00327 start = end
00328 end += 4
00329 (length,) = _struct_I.unpack(str[start:end])
00330 self.trajectory.points = []
00331 for i in range(0, length):
00332 val1 = nasa_r2_common_msgs.msg.PoseTrajectoryPoint()
00333 start = end
00334 end += 4
00335 (length,) = _struct_I.unpack(str[start:end])
00336 val1.positions = []
00337 for i in range(0, length):
00338 val2 = geometry_msgs.msg.Pose()
00339 _v8 = val2.position
00340 _x = _v8
00341 start = end
00342 end += 24
00343 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00344 _v9 = val2.orientation
00345 _x = _v9
00346 start = end
00347 end += 32
00348 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00349 val1.positions.append(val2)
00350 start = end
00351 end += 4
00352 (length,) = _struct_I.unpack(str[start:end])
00353 val1.velocities = []
00354 for i in range(0, length):
00355 val2 = geometry_msgs.msg.Twist()
00356 _v10 = val2.linear
00357 _x = _v10
00358 start = end
00359 end += 24
00360 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00361 _v11 = val2.angular
00362 _x = _v11
00363 start = end
00364 end += 24
00365 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00366 val1.velocities.append(val2)
00367 start = end
00368 end += 4
00369 (length,) = _struct_I.unpack(str[start:end])
00370 val1.accelerations = []
00371 for i in range(0, length):
00372 val2 = geometry_msgs.msg.Twist()
00373 _v12 = val2.linear
00374 _x = _v12
00375 start = end
00376 end += 24
00377 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00378 _v13 = val2.angular
00379 _x = _v13
00380 start = end
00381 end += 24
00382 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00383 val1.accelerations.append(val2)
00384 _v14 = val1.time_from_start
00385 _x = _v14
00386 start = end
00387 end += 8
00388 (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end])
00389 self.trajectory.points.append(val1)
00390 return self
00391 except struct.error as e:
00392 raise genpy.DeserializationError(e)
00393
00394
00395 def serialize_numpy(self, buff, numpy):
00396 """
00397 serialize message with numpy array types into buffer
00398 :param buff: buffer, ``StringIO``
00399 :param numpy: numpy python module
00400 """
00401 try:
00402 _x = self
00403 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00404 _x = self.header.frame_id
00405 length = len(_x)
00406 if python3 or type(_x) == unicode:
00407 _x = _x.encode('utf-8')
00408 length = len(_x)
00409 buff.write(struct.pack('<I%ss'%length, length, _x))
00410 _x = self
00411 buff.write(_struct_B3I.pack(_x.replan.type, _x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs))
00412 _x = self.trajectory.header.frame_id
00413 length = len(_x)
00414 if python3 or type(_x) == unicode:
00415 _x = _x.encode('utf-8')
00416 length = len(_x)
00417 buff.write(struct.pack('<I%ss'%length, length, _x))
00418 length = len(self.trajectory.nodes)
00419 buff.write(_struct_I.pack(length))
00420 for val1 in self.trajectory.nodes:
00421 length = len(val1)
00422 if python3 or type(val1) == unicode:
00423 val1 = val1.encode('utf-8')
00424 length = len(val1)
00425 buff.write(struct.pack('<I%ss'%length, length, val1))
00426 length = len(self.trajectory.node_priorities)
00427 buff.write(_struct_I.pack(length))
00428 for val1 in self.trajectory.node_priorities:
00429 _x = val1.axis_priorities
00430 length = len(_x)
00431
00432 if type(_x) in [list, tuple]:
00433 buff.write(struct.pack('<I%sB'%length, length, *_x))
00434 else:
00435 buff.write(struct.pack('<I%ss'%length, length, _x))
00436 length = len(self.trajectory.refFrames)
00437 buff.write(_struct_I.pack(length))
00438 for val1 in self.trajectory.refFrames:
00439 length = len(val1)
00440 if python3 or type(val1) == unicode:
00441 val1 = val1.encode('utf-8')
00442 length = len(val1)
00443 buff.write(struct.pack('<I%ss'%length, length, val1))
00444 length = len(self.trajectory.points)
00445 buff.write(_struct_I.pack(length))
00446 for val1 in self.trajectory.points:
00447 length = len(val1.positions)
00448 buff.write(_struct_I.pack(length))
00449 for val2 in val1.positions:
00450 _v15 = val2.position
00451 _x = _v15
00452 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00453 _v16 = val2.orientation
00454 _x = _v16
00455 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00456 length = len(val1.velocities)
00457 buff.write(_struct_I.pack(length))
00458 for val2 in val1.velocities:
00459 _v17 = val2.linear
00460 _x = _v17
00461 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00462 _v18 = val2.angular
00463 _x = _v18
00464 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00465 length = len(val1.accelerations)
00466 buff.write(_struct_I.pack(length))
00467 for val2 in val1.accelerations:
00468 _v19 = val2.linear
00469 _x = _v19
00470 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00471 _v20 = val2.angular
00472 _x = _v20
00473 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00474 _v21 = val1.time_from_start
00475 _x = _v21
00476 buff.write(_struct_2i.pack(_x.secs, _x.nsecs))
00477 except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(_x))))
00478 except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(_x))))
00479
00480 def deserialize_numpy(self, str, numpy):
00481 """
00482 unpack serialized message in str into this message instance using numpy for array types
00483 :param str: byte array of serialized message, ``str``
00484 :param numpy: numpy python module
00485 """
00486 try:
00487 if self.header is None:
00488 self.header = std_msgs.msg.Header()
00489 if self.replan is None:
00490 self.replan = nasa_r2_common_msgs.msg.ReplanType()
00491 if self.trajectory is None:
00492 self.trajectory = nasa_r2_common_msgs.msg.PoseTrajectory()
00493 end = 0
00494 _x = self
00495 start = end
00496 end += 12
00497 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00498 start = end
00499 end += 4
00500 (length,) = _struct_I.unpack(str[start:end])
00501 start = end
00502 end += length
00503 if python3:
00504 self.header.frame_id = str[start:end].decode('utf-8')
00505 else:
00506 self.header.frame_id = str[start:end]
00507 _x = self
00508 start = end
00509 end += 13
00510 (_x.replan.type, _x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _struct_B3I.unpack(str[start:end])
00511 start = end
00512 end += 4
00513 (length,) = _struct_I.unpack(str[start:end])
00514 start = end
00515 end += length
00516 if python3:
00517 self.trajectory.header.frame_id = str[start:end].decode('utf-8')
00518 else:
00519 self.trajectory.header.frame_id = str[start:end]
00520 start = end
00521 end += 4
00522 (length,) = _struct_I.unpack(str[start:end])
00523 self.trajectory.nodes = []
00524 for i in range(0, length):
00525 start = end
00526 end += 4
00527 (length,) = _struct_I.unpack(str[start:end])
00528 start = end
00529 end += length
00530 if python3:
00531 val1 = str[start:end].decode('utf-8')
00532 else:
00533 val1 = str[start:end]
00534 self.trajectory.nodes.append(val1)
00535 start = end
00536 end += 4
00537 (length,) = _struct_I.unpack(str[start:end])
00538 self.trajectory.node_priorities = []
00539 for i in range(0, length):
00540 val1 = nasa_r2_common_msgs.msg.PriorityArray()
00541 start = end
00542 end += 4
00543 (length,) = _struct_I.unpack(str[start:end])
00544 start = end
00545 end += length
00546 val1.axis_priorities = str[start:end]
00547 self.trajectory.node_priorities.append(val1)
00548 start = end
00549 end += 4
00550 (length,) = _struct_I.unpack(str[start:end])
00551 self.trajectory.refFrames = []
00552 for i in range(0, length):
00553 start = end
00554 end += 4
00555 (length,) = _struct_I.unpack(str[start:end])
00556 start = end
00557 end += length
00558 if python3:
00559 val1 = str[start:end].decode('utf-8')
00560 else:
00561 val1 = str[start:end]
00562 self.trajectory.refFrames.append(val1)
00563 start = end
00564 end += 4
00565 (length,) = _struct_I.unpack(str[start:end])
00566 self.trajectory.points = []
00567 for i in range(0, length):
00568 val1 = nasa_r2_common_msgs.msg.PoseTrajectoryPoint()
00569 start = end
00570 end += 4
00571 (length,) = _struct_I.unpack(str[start:end])
00572 val1.positions = []
00573 for i in range(0, length):
00574 val2 = geometry_msgs.msg.Pose()
00575 _v22 = val2.position
00576 _x = _v22
00577 start = end
00578 end += 24
00579 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00580 _v23 = val2.orientation
00581 _x = _v23
00582 start = end
00583 end += 32
00584 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00585 val1.positions.append(val2)
00586 start = end
00587 end += 4
00588 (length,) = _struct_I.unpack(str[start:end])
00589 val1.velocities = []
00590 for i in range(0, length):
00591 val2 = geometry_msgs.msg.Twist()
00592 _v24 = val2.linear
00593 _x = _v24
00594 start = end
00595 end += 24
00596 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00597 _v25 = val2.angular
00598 _x = _v25
00599 start = end
00600 end += 24
00601 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00602 val1.velocities.append(val2)
00603 start = end
00604 end += 4
00605 (length,) = _struct_I.unpack(str[start:end])
00606 val1.accelerations = []
00607 for i in range(0, length):
00608 val2 = geometry_msgs.msg.Twist()
00609 _v26 = val2.linear
00610 _x = _v26
00611 start = end
00612 end += 24
00613 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00614 _v27 = val2.angular
00615 _x = _v27
00616 start = end
00617 end += 24
00618 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00619 val1.accelerations.append(val2)
00620 _v28 = val1.time_from_start
00621 _x = _v28
00622 start = end
00623 end += 8
00624 (_x.secs, _x.nsecs,) = _struct_2i.unpack(str[start:end])
00625 self.trajectory.points.append(val1)
00626 return self
00627 except struct.error as e:
00628 raise genpy.DeserializationError(e)
00629
00630 _struct_I = genpy.struct_I
00631 _struct_2i = struct.Struct("<2i")
00632 _struct_4d = struct.Struct("<4d")
00633 _struct_3I = struct.Struct("<3I")
00634 _struct_B3I = struct.Struct("<B3I")
00635 _struct_3d = struct.Struct("<3d")