QtGui/qquaternion.h File Reference

qquaternion.h File Reference
#include <QtGui/qvector3d.h>
#include <QtGui/qvector4d.h>

Classes

class  QQuaternion
 

Functions

 Q_DECLARE_TYPEINFO (QQuaternion, Q_MOVABLE_TYPE)
 
const QQuaternion operator* (const QQuaternion &q1, const QQuaternion &q2)
 
bool operator== (const QQuaternion &q1, const QQuaternion &q2)
 
bool operator!= (const QQuaternion &q1, const QQuaternion &q2)
 
const QQuaternion operator+ (const QQuaternion &q1, const QQuaternion &q2)
 
const QQuaternion operator- (const QQuaternion &q1, const QQuaternion &q2)
 
const QQuaternion operator* (qreal factor, const QQuaternion &quaternion)
 
const QQuaternion operator* (const QQuaternion &quaternion, qreal factor)
 
const QQuaternion operator- (const QQuaternion &quaternion)
 
const QQuaternion operator/ (const QQuaternion &quaternion, qreal divisor)
 
bool qFuzzyCompare (const QQuaternion &q1, const QQuaternion &q2)
 
Q_GUI_EXPORT QDebug operator<< (QDebug dbg, const QQuaternion &q)
 
Q_GUI_EXPORT QDataStreamoperator<< (QDataStream &, const QQuaternion &)
 
Q_GUI_EXPORT QDataStreamoperator>> (QDataStream &, QQuaternion &)
 

Function Documentation

Q_DECLARE_TYPEINFO ( QQuaternion  ,
Q_MOVABLE_TYPE   
)
const QQuaternion operator* ( const QQuaternion q1,
const QQuaternion q2 
)
inline

Definition at line 198 of file qquaternion.h.

199 {
200  qreal ww = (q1.zp + q1.xp) * (q2.xp + q2.yp);
201  qreal yy = (q1.wp - q1.yp) * (q2.wp + q2.zp);
202  qreal zz = (q1.wp + q1.yp) * (q2.wp - q2.zp);
203  qreal xx = ww + yy + zz;
204  qreal qq = 0.5 * (xx + (q1.zp - q1.xp) * (q2.xp - q2.yp));
205 
206  qreal w = qq - ww + (q1.zp - q1.yp) * (q2.yp - q2.zp);
207  qreal x = qq - xx + (q1.xp + q1.wp) * (q2.xp + q2.wp);
208  qreal y = qq - yy + (q1.wp - q1.xp) * (q2.yp + q2.zp);
209  qreal z = qq - zz + (q1.zp + q1.yp) * (q2.wp - q2.xp);
210 
211  return QQuaternion(w, x, y, z);
212 }
GLenum GLint GLint y
Definition: GLee.h:876
GLdouble GLdouble z
Definition: GLee.h:1393
GLenum GLint x
Definition: GLee.h:876
GLubyte GLubyte GLubyte GLubyte w
Definition: GLee.h:1775
bool operator== ( const QQuaternion q1,
const QQuaternion q2 
)
inline

Definition at line 229 of file qquaternion.h.

230 {
231  return q1.xp == q2.xp && q1.yp == q2.yp && q1.zp == q2.zp && q1.wp == q2.wp;
232 }
bool operator!= ( const QQuaternion q1,
const QQuaternion q2 
)
inline

Definition at line 234 of file qquaternion.h.

235 {
236  return q1.xp != q2.xp || q1.yp != q2.yp || q1.zp != q2.zp || q1.wp != q2.wp;
237 }
const QQuaternion operator+ ( const QQuaternion q1,
const QQuaternion q2 
)
inline

Definition at line 239 of file qquaternion.h.

240 {
241  return QQuaternion(q1.wp + q2.wp, q1.xp + q2.xp, q1.yp + q2.yp, q1.zp + q2.zp);
242 }
const QQuaternion operator- ( const QQuaternion q1,
const QQuaternion q2 
)
inline

Definition at line 244 of file qquaternion.h.

245 {
246  return QQuaternion(q1.wp - q2.wp, q1.xp - q2.xp, q1.yp - q2.yp, q1.zp - q2.zp);
247 }
const QQuaternion operator* ( qreal  factor,
const QQuaternion quaternion 
)
inline

Definition at line 249 of file qquaternion.h.

250 {
251  return QQuaternion(quaternion.wp * factor, quaternion.xp * factor, quaternion.yp * factor, quaternion.zp * factor);
252 }
const QQuaternion operator* ( const QQuaternion quaternion,
qreal  factor 
)
inline

Definition at line 254 of file qquaternion.h.

255 {
256  return QQuaternion(quaternion.wp * factor, quaternion.xp * factor, quaternion.yp * factor, quaternion.zp * factor);
257 }
const QQuaternion operator- ( const QQuaternion quaternion)
inline

Definition at line 259 of file qquaternion.h.

260 {
261  return QQuaternion(-quaternion.wp, -quaternion.xp, -quaternion.yp, -quaternion.zp);
262 }
const QQuaternion operator/ ( const QQuaternion quaternion,
qreal  divisor 
)
inline

Definition at line 264 of file qquaternion.h.

265 {
266  return QQuaternion(quaternion.wp / divisor, quaternion.xp / divisor, quaternion.yp / divisor, quaternion.zp / divisor);
267 }
GLXDrawable int64_t int64_t divisor
Definition: GLee.h:10690
bool qFuzzyCompare ( const QQuaternion q1,
const QQuaternion q2 
)
inline

Definition at line 269 of file qquaternion.h.

270 {
271  return qFuzzyCompare(q1.xp, q2.xp) &&
272  qFuzzyCompare(q1.yp, q2.yp) &&
273  qFuzzyCompare(q1.zp, q2.zp) &&
274  qFuzzyCompare(q1.wp, q2.wp);
275 }
bool qFuzzyCompare(const QQuaternion &q1, const QQuaternion &q2)
Definition: qquaternion.h:269
Q_GUI_EXPORT QDebug operator<< ( QDebug  dbg,
const QQuaternion q 
)
Q_GUI_EXPORT QDataStream& operator<< ( QDataStream ,
const QQuaternion  
)
Q_GUI_EXPORT QDataStream& operator>> ( QDataStream ,
QQuaternion  
)

Go to the source code of this file.