// qvector3d.sip generated by MetaSIP on Mon Oct 24 12:34:01 2011 // // This file is part of the QtGui Python extension module. // // Copyright (c) 2011 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 QVector3D { %TypeHeaderCode #include %End %PickleCode sipRes = Py_BuildValue((char *)"ddd", sipCpp->x(), sipCpp->y(), sipCpp->z()); %End public: QVector3D(); QVector3D(qreal xpos, qreal ypos, qreal zpos); explicit QVector3D(const QPoint &point); explicit QVector3D(const QPointF &point); QVector3D(const QVector2D &vector); QVector3D(const QVector2D &vector, qreal zpos); explicit QVector3D(const QVector4D &vector); SIP_PYOBJECT __repr__() const /DocType="str"/; %MethodCode PyObject *x = PyFloat_FromDouble(sipCpp->x()); PyObject *y = PyFloat_FromDouble(sipCpp->y()); PyObject *z = PyFloat_FromDouble(sipCpp->z()); if (x && y && z) { #if PY_MAJOR_VERSION >= 3 sipRes = PyUnicode_FromFormat("PyQt4.QtGui.QVector3D(%R, %R, %R)", x, y, z); #else sipRes = PyString_FromString("PyQt4.QtGui.QVector3D("); 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(x); Py_XDECREF(y); Py_XDECREF(z); %End qreal length() const; qreal lengthSquared() const; QVector3D normalized() const; void normalize(); static qreal dotProduct(const QVector3D &v1, const QVector3D &v2); static QVector3D crossProduct(const QVector3D &v1, const QVector3D &v2); static QVector3D normal(const QVector3D &v1, const QVector3D &v2); static QVector3D normal(const QVector3D &v1, const QVector3D &v2, const QVector3D &v3); qreal distanceToPlane(const QVector3D &plane, const QVector3D &normal) const; qreal distanceToPlane(const QVector3D &plane1, const QVector3D &plane2, const QVector3D &plane3) const; qreal distanceToLine(const QVector3D &point, const QVector3D &direction) const; QVector2D toVector2D() const; QVector4D toVector4D() const; bool isNull() const; qreal x() const; qreal y() const; qreal z() const; void setX(qreal aX); void setY(qreal aY); void setZ(qreal aZ); QVector3D &operator+=(const QVector3D &vector); QVector3D &operator-=(const QVector3D &vector); QVector3D &operator*=(qreal factor); QVector3D &operator*=(const QVector3D &vector); QVector3D &operator/=(qreal divisor); QPoint toPoint() const; QPointF toPointF() const; }; %End %If (Qt_4_6_0 -) bool operator==(const QVector3D &v1, const QVector3D &v2); %End %If (Qt_4_6_0 -) bool operator!=(const QVector3D &v1, const QVector3D &v2); %End %If (Qt_4_6_0 -) const QVector3D operator+(const QVector3D &v1, const QVector3D &v2); %End %If (Qt_4_6_0 -) const QVector3D operator-(const QVector3D &v1, const QVector3D &v2); %End %If (Qt_4_6_0 -) const QVector3D operator*(qreal factor, const QVector3D &vector); %End %If (Qt_4_6_0 -) const QVector3D operator*(const QVector3D &vector, qreal factor); %End %If (Qt_4_6_0 -) const QVector3D operator*(const QVector3D &v1, const QVector3D &v2); %End %If (Qt_4_6_0 -) const QVector3D operator-(const QVector3D &vector); %End %If (Qt_4_6_0 -) const QVector3D operator/(const QVector3D &vector, qreal divisor); %End %If (Qt_4_6_0 -) bool qFuzzyCompare(const QVector3D &v1, const QVector3D &v2); %End %If (Qt_4_6_0 -) QDataStream &operator<<(QDataStream &, const QVector3D & /Constrained/); %End %If (Qt_4_6_0 -) QDataStream &operator>>(QDataStream &, QVector3D & /Constrained/); %End