1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html><head><title>QQuaternion Class Reference</title><style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
td.postheader { font-family: sans-serif }
tr.address { font-family: sans-serif }
body { background: #ffffff; color: black; }
</style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr /><td align="left" valign="top" width="32"><img align="left" border="0" height="32" src="images/rb-logo.png" width="32" /></td><td width="1">  </td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a> · <a href="classes.html"><font color="#004faf">All Classes</font></a> · <a href="modules.html"><font color="#004faf">Modules</font></a></td></table><h1 align="center">QQuaternion Class Reference<br /><sup><sup>[<a href="qtgui.html">QtGui</a> module]</sup></sup></h1><p>The QQuaternion class represents a quaternion consisting of a
vector and scalar. <a href="#details">More...</a></p>
<h3>Methods</h3><ul><li><div class="fn" /><b><a href="qquaternion.html#QQuaternion">__init__</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#QQuaternion-2">__init__</a></b> (<i>self</i>, float <i>aScalar</i>, float <i>xpos</i>, float <i>ypos</i>, float <i>zpos</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#QQuaternion-3">__init__</a></b> (<i>self</i>, float <i>aScalar</i>, QVector3D <i>aVector</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#QQuaternion-4">__init__</a></b> (<i>self</i>, QVector4D <i>aVector</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#QQuaternion-5">__init__</a></b> (<i>self</i>, QQuaternion)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#conjugate">conjugate</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qquaternion.html#isIdentity">isIdentity</a></b> (<i>self</i>)</li><li><div class="fn" />bool <b><a href="qquaternion.html#isNull">isNull</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qquaternion.html#length">length</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qquaternion.html#lengthSquared">lengthSquared</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#normalize">normalize</a></b> (<i>self</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#normalized">normalized</a></b> (<i>self</i>)</li><li><div class="fn" />QVector3D <b><a href="qquaternion.html#rotatedVector">rotatedVector</a></b> (<i>self</i>, QVector3D <i>vector</i>)</li><li><div class="fn" />float <b><a href="qquaternion.html#scalar">scalar</a></b> (<i>self</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#setScalar">setScalar</a></b> (<i>self</i>, float <i>aScalar</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#setVector">setVector</a></b> (<i>self</i>, QVector3D <i>aVector</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#setVector-2">setVector</a></b> (<i>self</i>, float <i>aX</i>, float <i>aY</i>, float <i>aZ</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#setX">setX</a></b> (<i>self</i>, float <i>aX</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#setY">setY</a></b> (<i>self</i>, float <i>aY</i>)</li><li><div class="fn" /><b><a href="qquaternion.html#setZ">setZ</a></b> (<i>self</i>, float <i>aZ</i>)</li><li><div class="fn" />QVector4D <b><a href="qquaternion.html#toVector4D">toVector4D</a></b> (<i>self</i>)</li><li><div class="fn" />QVector3D <b><a href="qquaternion.html#vector">vector</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qquaternion.html#x">x</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qquaternion.html#y">y</a></b> (<i>self</i>)</li><li><div class="fn" />float <b><a href="qquaternion.html#z">z</a></b> (<i>self</i>)</li></ul><h3>Static Methods</h3><ul><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#fromAxisAndAngle">fromAxisAndAngle</a></b> (QVector3D <i>axis</i>, float <i>angle</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#fromAxisAndAngle-2">fromAxisAndAngle</a></b> (float <i>x</i>, float <i>y</i>, float <i>z</i>, float <i>angle</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#nlerp">nlerp</a></b> (QQuaternion <i>q1</i>, QQuaternion <i>q2</i>, float <i>t</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#slerp">slerp</a></b> (QQuaternion <i>q1</i>, QQuaternion <i>q2</i>, float <i>t</i>)</li></ul><h3>Special Methods</h3><ul><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__add__">__add__</a></b> (<i>self</i>, QQuaternion <i>q2</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__div__">__div__</a></b> (<i>self</i>, float <i>divisor</i>)</li><li><div class="fn" />bool <b><a href="qquaternion.html#__eq__">__eq__</a></b> (<i>self</i>, QQuaternion <i>q2</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__iadd__">__iadd__</a></b> (<i>self</i>, QQuaternion <i>quaternion</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__idiv__">__idiv__</a></b> (<i>self</i>, float <i>divisor</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__imul__">__imul__</a></b> (<i>self</i>, float <i>factor</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__imul__-2">__imul__</a></b> (<i>self</i>, QQuaternion <i>quaternion</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__isub__">__isub__</a></b> (<i>self</i>, QQuaternion <i>quaternion</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__mul__">__mul__</a></b> (<i>self</i>, QQuaternion <i>q2</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__mul__-2">__mul__</a></b> (<i>self</i>, QQuaternion <i>quaternion</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__mul__-3">__mul__</a></b> (<i>self</i>, float <i>factor</i>)</li><li><div class="fn" />bool <b><a href="qquaternion.html#__ne__">__ne__</a></b> (<i>self</i>, QQuaternion <i>q2</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__neg__">__neg__</a></b> (<i>self</i>)</li><li><div class="fn" />str <b><a href="qquaternion.html#__repr__">__repr__</a></b> (<i>self</i>)</li><li><div class="fn" />QQuaternion <b><a href="qquaternion.html#__sub__">__sub__</a></b> (<i>self</i>, QQuaternion <i>q2</i>)</li></ul><a name="details" /><hr /><h2>Detailed Description</h2><p>This class can be pickled.</p><p>The QQuaternion class represents a quaternion consisting of a
vector and scalar.</p>
<p>Quaternions are used to represent rotations in 3D space, and
consist of a 3D rotation axis specified by the x, y, and z
coordinates, and a scalar representing the rotation angle.</p>
<hr /><h2>Method Documentation</h2><h3 class="fn"><a name="QQuaternion" />QQuaternion.__init__ (<i>self</i>)</h3><p>Constructs an identity quaternion, i.e. with coordinates (1, 0,
0, 0).</p>
<h3 class="fn"><a name="QQuaternion-2" />QQuaternion.__init__ (<i>self</i>, float <i>aScalar</i>, float <i>xpos</i>, float <i>ypos</i>, float <i>zpos</i>)</h3><p>Constructs a quaternion with the vector (<i>xpos</i>,
<i>ypos</i>, <i>zpos</i>) and <i>scalar</i>.</p>
<h3 class="fn"><a name="QQuaternion-3" />QQuaternion.__init__ (<i>self</i>, float <i>aScalar</i>, <a href="qvector3d.html">QVector3D</a> <i>aVector</i>)</h3><p>Constructs a quaternion vector from the specified <i>vector</i>
and <i>scalar</i>.</p>
<p><b>See also</b> <a href="qquaternion.html#vector">vector</a>()
and <a href="qquaternion.html#scalar">scalar</a>().</p>
<h3 class="fn"><a name="QQuaternion-4" />QQuaternion.__init__ (<i>self</i>, <a href="qvector4d.html">QVector4D</a> <i>aVector</i>)</h3><p>Constructs a quaternion from the components of
<i>vector</i>.</p>
<h3 class="fn"><a name="QQuaternion-5" />QQuaternion.__init__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a>)</h3><h3 class="fn"><a name="conjugate" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.conjugate (<i>self</i>)</h3><p>Returns the conjugate of this quaternion, which is (-x, -y, -z,
scalar).</p>
<h3 class="fn"><a name="fromAxisAndAngle" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.fromAxisAndAngle (<a href="qvector3d.html">QVector3D</a> <i>axis</i>, float <i>angle</i>)</h3><p>Creates a normalized quaternion that corresponds to rotating
through <i>angle</i> degrees about the specified 3D
<i>axis</i>.</p>
<h3 class="fn"><a name="fromAxisAndAngle-2" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.fromAxisAndAngle (float <i>x</i>, float <i>y</i>, float <i>z</i>, float <i>angle</i>)</h3><p>Creates a normalized quaternion that corresponds to rotating
through <i>angle</i> degrees about the 3D axis (<i>x</i>, <i>y</i>,
<i>z</i>).</p>
<h3 class="fn"><a name="isIdentity" />bool QQuaternion.isIdentity (<i>self</i>)</h3><p>Returns true if the x, y, and z components of this quaternion
are set to 0.0, and the scalar component is set to 1.0; otherwise
returns false.</p>
<h3 class="fn"><a name="isNull" />bool QQuaternion.isNull (<i>self</i>)</h3><p>Returns true if the x, y, z, and scalar components of this
quaternion are set to 0.0; otherwise returns false.</p>
<h3 class="fn"><a name="length" />float QQuaternion.length (<i>self</i>)</h3><p>Returns the length of the quaternion. This is also called the
"norm".</p>
<p><b>See also</b> <a href="qquaternion.html#lengthSquared">lengthSquared</a>() and <a href="qquaternion.html#normalized">normalized</a>().</p>
<h3 class="fn"><a name="lengthSquared" />float QQuaternion.lengthSquared (<i>self</i>)</h3><p>Returns the squared length of the quaternion.</p>
<p><b>See also</b> <a href="qquaternion.html#length">length</a>().</p>
<h3 class="fn"><a name="nlerp" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.nlerp (<a href="qquaternion.html">QQuaternion</a> <i>q1</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>, float <i>t</i>)</h3><p>Interpolates along the shortest linear path between the
rotational positions <i>q1</i> and <i>q2</i>. The value <i>t</i>
should be between 0 and 1, indicating the distance to travel
between <i>q1</i> and <i>q2</i>. The result will be <a href="qquaternion.html#normalized">normalized</a>().</p>
<p>If <i>t</i> is less than or equal to 0, then <i>q1</i> will be
returned. If <i>t</i> is greater than or equal to 1, then <i>q2</i>
will be returned.</p>
<p>The nlerp() function is typically faster than <a href="qquaternion.html#slerp">slerp</a>() and will give approximate
results to spherical interpolation that are good enough for some
applications.</p>
<p><b>See also</b> <a href="qquaternion.html#slerp">slerp</a>().</p>
<h3 class="fn"><a name="normalize" />QQuaternion.normalize (<i>self</i>)</h3><p>Normalizes the currect quaternion in place. Nothing happens if
this is a null quaternion or the length of the quaternion is very
close to 1.</p>
<p><b>See also</b> <a href="qquaternion.html#length">length</a>()
and <a href="qquaternion.html#normalized">normalized</a>().</p>
<h3 class="fn"><a name="normalized" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.normalized (<i>self</i>)</h3><p>Returns the normalized unit form of this quaternion.</p>
<p>If this quaternion is null, then a null quaternion is returned.
If the length of the quaternion is very close to 1, then the
quaternion will be returned as-is. Otherwise the normalized form of
the quaternion of length 1 will be returned.</p>
<p><b>See also</b> <a href="qquaternion.html#length">length</a>()
and <a href="qquaternion.html#normalize">normalize</a>().</p>
<h3 class="fn"><a name="rotatedVector" /><a href="qvector3d.html">QVector3D</a> QQuaternion.rotatedVector (<i>self</i>, <a href="qvector3d.html">QVector3D</a> <i>vector</i>)</h3><p>Rotates <i>vector</i> with this quaternion to produce a new
vector in 3D space. The following code:</p>
<pre class="cpp">
QVector3D result <span class="operator">=</span> q<span class="operator">.</span>rotatedVector(vector);
</pre>
<p>is equivalent to the following:</p>
<pre class="cpp">
QVector3D result <span class="operator">=</span> (q <span class="operator">*</span> <span class="type"><a href="qquaternion.html">QQuaternion</a></span>(<span class="number">0</span><span class="operator">,</span> vector) <span class="operator">*</span> q<span class="operator">.</span>conjugate())<span class="operator">.</span><a href="qquaternion.html#vector">vector</a>();
</pre>
<h3 class="fn"><a name="scalar" />float QQuaternion.scalar (<i>self</i>)</h3><p>Returns the scalar component of this quaternion.</p>
<p><b>See also</b> <a href="qquaternion.html#setScalar">setScalar</a>(), <a href="qquaternion.html#x">x</a>(), <a href="qquaternion.html#y">y</a>(),
and <a href="qquaternion.html#z">z</a>().</p>
<h3 class="fn"><a name="setScalar" />QQuaternion.setScalar (<i>self</i>, float <i>aScalar</i>)</h3><p>Sets the scalar component of this quaternion to
<i>scalar</i>.</p>
<p><b>See also</b> <a href="qquaternion.html#scalar">scalar</a>(),
<a href="qquaternion.html#setX">setX</a>(), <a href="qquaternion.html#setY">setY</a>(), and <a href="qquaternion.html#setZ">setZ</a>().</p>
<h3 class="fn"><a name="setVector" />QQuaternion.setVector (<i>self</i>, <a href="qvector3d.html">QVector3D</a> <i>aVector</i>)</h3><p>Sets the vector component of this quaternion to
<i>vector</i>.</p>
<p><b>See also</b> <a href="qquaternion.html#vector">vector</a>()
and <a href="qquaternion.html#setScalar">setScalar</a>().</p>
<h3 class="fn"><a name="setVector-2" />QQuaternion.setVector (<i>self</i>, float <i>aX</i>, float <i>aY</i>, float <i>aZ</i>)</h3><p>Sets the vector component of this quaternion to (<i>x</i>,
<i>y</i>, <i>z</i>).</p>
<p><b>See also</b> <a href="qquaternion.html#vector">vector</a>()
and <a href="qquaternion.html#setScalar">setScalar</a>().</p>
<h3 class="fn"><a name="setX" />QQuaternion.setX (<i>self</i>, float <i>aX</i>)</h3><p>Sets the x coordinate of this quaternion's vector to the given
<i>x</i> coordinate.</p>
<p><b>See also</b> <a href="qquaternion.html#x">x</a>(), <a href="qquaternion.html#setY">setY</a>(), <a href="qquaternion.html#setZ">setZ</a>(), and <a href="qquaternion.html#setScalar">setScalar</a>().</p>
<h3 class="fn"><a name="setY" />QQuaternion.setY (<i>self</i>, float <i>aY</i>)</h3><p>Sets the y coordinate of this quaternion's vector to the given
<i>y</i> coordinate.</p>
<p><b>See also</b> <a href="qquaternion.html#y">y</a>(), <a href="qquaternion.html#setX">setX</a>(), <a href="qquaternion.html#setZ">setZ</a>(), and <a href="qquaternion.html#setScalar">setScalar</a>().</p>
<h3 class="fn"><a name="setZ" />QQuaternion.setZ (<i>self</i>, float <i>aZ</i>)</h3><p>Sets the z coordinate of this quaternion's vector to the given
<i>z</i> coordinate.</p>
<p><b>See also</b> <a href="qquaternion.html#z">z</a>(), <a href="qquaternion.html#setX">setX</a>(), <a href="qquaternion.html#setY">setY</a>(), and <a href="qquaternion.html#setScalar">setScalar</a>().</p>
<h3 class="fn"><a name="slerp" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.slerp (<a href="qquaternion.html">QQuaternion</a> <i>q1</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>, float <i>t</i>)</h3><p>Interpolates along the shortest spherical path between the
rotational positions <i>q1</i> and <i>q2</i>. The value <i>t</i>
should be between 0 and 1, indicating the spherical distance to
travel between <i>q1</i> and <i>q2</i>.</p>
<p>If <i>t</i> is less than or equal to 0, then <i>q1</i> will be
returned. If <i>t</i> is greater than or equal to 1, then <i>q2</i>
will be returned.</p>
<p><b>See also</b> <a href="qquaternion.html#nlerp">nlerp</a>().</p>
<h3 class="fn"><a name="toVector4D" /><a href="qvector4d.html">QVector4D</a> QQuaternion.toVector4D (<i>self</i>)</h3><p>Returns this quaternion as a 4D vector.</p>
<h3 class="fn"><a name="vector" /><a href="qvector3d.html">QVector3D</a> QQuaternion.vector (<i>self</i>)</h3><p>Returns the vector component of this quaternion.</p>
<p><b>See also</b> <a href="qquaternion.html#setVector">setVector</a>() and <a href="qquaternion.html#scalar">scalar</a>().</p>
<h3 class="fn"><a name="x" />float QQuaternion.x (<i>self</i>)</h3><p>Returns the x coordinate of this quaternion's vector.</p>
<p><b>See also</b> <a href="qquaternion.html#setX">setX</a>(),
<a href="qquaternion.html#y">y</a>(), <a href="qquaternion.html#z">z</a>(), and <a href="qquaternion.html#scalar">scalar</a>().</p>
<h3 class="fn"><a name="y" />float QQuaternion.y (<i>self</i>)</h3><p>Returns the y coordinate of this quaternion's vector.</p>
<p><b>See also</b> <a href="qquaternion.html#setY">setY</a>(),
<a href="qquaternion.html#x">x</a>(), <a href="qquaternion.html#z">z</a>(), and <a href="qquaternion.html#scalar">scalar</a>().</p>
<h3 class="fn"><a name="z" />float QQuaternion.z (<i>self</i>)</h3><p>Returns the z coordinate of this quaternion's vector.</p>
<p><b>See also</b> <a href="qquaternion.html#setZ">setZ</a>(),
<a href="qquaternion.html#x">x</a>(), <a href="qquaternion.html#y">y</a>(), and <a href="qquaternion.html#scalar">scalar</a>().</p>
<h3 class="fn"><a name="__add__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__add__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>)</h3><h3 class="fn"><a name="__div__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__div__ (<i>self</i>, float <i>divisor</i>)</h3><h3 class="fn"><a name="__eq__" />bool QQuaternion.__eq__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>)</h3><h3 class="fn"><a name="__iadd__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__iadd__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>quaternion</i>)</h3><h3 class="fn"><a name="__idiv__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__idiv__ (<i>self</i>, float <i>divisor</i>)</h3><h3 class="fn"><a name="__imul__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__imul__ (<i>self</i>, float <i>factor</i>)</h3><h3 class="fn"><a name="__imul__-2" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__imul__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>quaternion</i>)</h3><h3 class="fn"><a name="__isub__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__isub__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>quaternion</i>)</h3><h3 class="fn"><a name="__mul__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__mul__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>)</h3><h3 class="fn"><a name="__mul__-2" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__mul__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>quaternion</i>)</h3><h3 class="fn"><a name="__mul__-3" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__mul__ (<i>self</i>, float <i>factor</i>)</h3><h3 class="fn"><a name="__ne__" />bool QQuaternion.__ne__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>)</h3><h3 class="fn"><a name="__neg__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__neg__ (<i>self</i>)</h3><h3 class="fn"><a name="__repr__" />str QQuaternion.__repr__ (<i>self</i>)</h3><h3 class="fn"><a name="__sub__" /><a href="qquaternion.html">QQuaternion</a> QQuaternion.__sub__ (<i>self</i>, <a href="qquaternion.html">QQuaternion</a> <i>q2</i>)</h3><address><hr /><div align="center"><table border="0" cellspacing="0" width="100%"><tr class="address"><td align="left" width="25%">PyQt 4.9.3 for X11</td><td align="center" width="50%">Copyright © <a href="http://www.riverbankcomputing.com">Riverbank Computing Ltd</a> and <a href="http://www.qtsoftware.com">Nokia</a> 2012</td><td align="right" width="25%">Qt 4.8.2</td></tr></table></div></address></body></html>
|