// qquaternion.sip generated by MetaSIP on Wed Aug 21 06:54:04 2013 // // This file is part of the QtGui Python extension module. // // Copyright (c) 2013 Riverbank Computing Limited // // This file is part of PyQt. // // This file may be used under the terms of the GNU General Public // License versions 2.0 or 3.0 as published by the Free Software // Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3 // included in the packaging of this file. Alternatively you may (at // your option) use any later version of the GNU General Public // License if such license has been publicly approved by Riverbank // Computing Limited (or its successors, if any) and the KDE Free Qt // Foundation. In addition, as a special exception, Riverbank gives you // certain additional rights. These rights are described in the Riverbank // GPL Exception version 1.1, which can be found in the file // GPL_EXCEPTION.txt in this package. // // If you are unsure which license is appropriate for your use, please // contact the sales department at sales@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. %If (Qt_4_6_0 -) %ModuleCode #include %End %End %If (Qt_4_6_0 -) class QQuaternion { %TypeHeaderCode #include %End %PickleCode sipRes = Py_BuildValue((char *)"dddd", (double)sipCpp->scalar(), (double)sipCpp->x(), (double)sipCpp->y(), (double)sipCpp->z()); %End public: QQuaternion(); %If (Qt_5_0_0 -) QQuaternion(float aScalar, float xpos, float ypos, float zpos); %End %If (- Qt_5_0_0) QQuaternion(qreal aScalar, qreal xpos, qreal ypos, qreal zpos); %End %If (Qt_5_0_0 -) QQuaternion(float aScalar, const QVector3D &aVector); %End %If (- Qt_5_0_0) QQuaternion(qreal aScalar, const QVector3D &aVector); %End explicit QQuaternion(const QVector4D &aVector); SIP_PYOBJECT __repr__() const /DocType="str"/; %MethodCode PyObject *scalar = PyFloat_FromDouble(sipCpp->scalar()); PyObject *x = PyFloat_FromDouble(sipCpp->x()); PyObject *y = PyFloat_FromDouble(sipCpp->y()); PyObject *z = PyFloat_FromDouble(sipCpp->z()); if (scalar && x && y && z) { #if PY_MAJOR_VERSION >= 3 sipRes = PyUnicode_FromFormat("PyQt4.QtGui.QQuaternion(%R, %R, %R, %R)", scalar, x, y, z); #else sipRes = PyString_FromString("PyQt4.QtGui.QQuaternion("); PyString_ConcatAndDel(&sipRes, PyObject_Repr(scalar)); PyString_ConcatAndDel(&sipRes, PyString_FromString(", ")); PyString_ConcatAndDel(&sipRes, PyObject_Repr(x)); PyString_ConcatAndDel(&sipRes, PyString_FromString(", ")); PyString_ConcatAndDel(&sipRes, PyObject_Repr(y)); PyString_ConcatAndDel(&sipRes, PyString_FromString(", ")); PyString_ConcatAndDel(&sipRes, PyObject_Repr(z)); PyString_ConcatAndDel(&sipRes, PyString_FromString(")")); #endif } Py_XDECREF(scalar); Py_XDECREF(x); Py_XDECREF(y); Py_XDECREF(z); %End %If (Qt_5_0_0 -) float length() const; %End %If (- Qt_5_0_0) qreal length() const; %End %If (Qt_5_0_0 -) float lengthSquared() const; %End %If (- Qt_5_0_0) qreal lengthSquared() const; %End QQuaternion normalized() const; void normalize(); QVector3D rotatedVector(const QVector3D &vector) const; %If (Qt_5_0_0 -) static QQuaternion fromAxisAndAngle(const QVector3D &axis, float angle); %End %If (- Qt_5_0_0) static QQuaternion fromAxisAndAngle(const QVector3D &axis, qreal angle); %End %If (Qt_5_0_0 -) static QQuaternion fromAxisAndAngle(float x, float y, float z, float angle); %End %If (- Qt_5_0_0) static QQuaternion fromAxisAndAngle(qreal x, qreal y, qreal z, qreal angle); %End %If (Qt_5_0_0 -) static QQuaternion slerp(const QQuaternion &q1, const QQuaternion &q2, float t); %End %If (- Qt_5_0_0) static QQuaternion slerp(const QQuaternion &q1, const QQuaternion &q2, qreal t); %End %If (Qt_5_0_0 -) static QQuaternion nlerp(const QQuaternion &q1, const QQuaternion &q2, float t); %End %If (- Qt_5_0_0) static QQuaternion nlerp(const QQuaternion &q1, const QQuaternion &q2, qreal t); %End bool isNull() const; bool isIdentity() const; %If (Qt_5_0_0 -) float x() const; %End %If (- Qt_5_0_0) qreal x() const; %End %If (Qt_5_0_0 -) float y() const; %End %If (- Qt_5_0_0) qreal y() const; %End %If (Qt_5_0_0 -) float z() const; %End %If (- Qt_5_0_0) qreal z() const; %End %If (Qt_5_0_0 -) float scalar() const; %End %If (- Qt_5_0_0) qreal scalar() const; %End %If (Qt_5_0_0 -) void setX(float aX); %End %If (- Qt_5_0_0) void setX(qreal aX); %End %If (Qt_5_0_0 -) void setY(float aY); %End %If (- Qt_5_0_0) void setY(qreal aY); %End %If (Qt_5_0_0 -) void setZ(float aZ); %End %If (- Qt_5_0_0) void setZ(qreal aZ); %End %If (Qt_5_0_0 -) void setScalar(float aScalar); %End %If (- Qt_5_0_0) void setScalar(qreal aScalar); %End QQuaternion conjugate() const; QQuaternion &operator+=(const QQuaternion &quaternion); QQuaternion &operator-=(const QQuaternion &quaternion); %If (Qt_5_0_0 -) QQuaternion &operator*=(float factor); %End %If (- Qt_5_0_0) QQuaternion &operator*=(qreal factor); %End QQuaternion &operator*=(const QQuaternion &quaternion); %If (Qt_5_0_0 -) QQuaternion &operator/=(float divisor); %End %If (- Qt_5_0_0) QQuaternion &operator/=(qreal divisor); %End void setVector(const QVector3D &aVector); QVector3D vector() const; %If (Qt_5_0_0 -) void setVector(float aX, float aY, float aZ); %End %If (- Qt_5_0_0) void setVector(qreal aX, qreal aY, qreal aZ); %End QVector4D toVector4D() const; }; %End %If (Qt_4_6_0 -) const QQuaternion operator*(const QQuaternion &q1, const QQuaternion &q2); %End %If (Qt_4_6_0 -) bool operator==(const QQuaternion &q1, const QQuaternion &q2); %End %If (Qt_4_6_0 -) bool operator!=(const QQuaternion &q1, const QQuaternion &q2); %End %If (Qt_4_6_0 -) const QQuaternion operator+(const QQuaternion &q1, const QQuaternion &q2); %End %If (Qt_4_6_0 -) const QQuaternion operator-(const QQuaternion &q1, const QQuaternion &q2); %End %If (Qt_5_0_0 -) const QQuaternion operator*(float factor, const QQuaternion &quaternion); %End %If (Qt_4_6_0 - Qt_5_0_0) const QQuaternion operator*(qreal factor, const QQuaternion &quaternion); %End %If (Qt_5_0_0 -) const QQuaternion operator*(const QQuaternion &quaternion, float factor); %End %If (Qt_4_6_0 - Qt_5_0_0) const QQuaternion operator*(const QQuaternion &quaternion, qreal factor); %End %If (Qt_4_6_0 -) const QQuaternion operator-(const QQuaternion &quaternion); %End %If (Qt_5_0_0 -) const QQuaternion operator/(const QQuaternion &quaternion, float divisor); %End %If (Qt_4_6_0 - Qt_5_0_0) const QQuaternion operator/(const QQuaternion &quaternion, qreal divisor); %End %If (Qt_4_6_0 -) bool qFuzzyCompare(const QQuaternion &q1, const QQuaternion &q2); %End %If (Qt_4_6_0 -) QDataStream &operator<<(QDataStream &, const QQuaternion & /Constrained/); %End %If (Qt_4_6_0 -) QDataStream &operator>>(QDataStream &, QQuaternion & /Constrained/); %End