5#include <QtQuick3DUtils/private/qssgutils_p.h>
88 return QQuaternion::fromAxisAndAngle(
x,
y,
z,
angle);
93 return QQuaternion::fromAxisAndAngle(axis,
angle);
98 return QQuaternion::fromEulerAngles(
x,
y,
z);
103 return QQuaternion::fromEulerAngles(eulerAngles);
111 QVector3D targetDirection = targetPosition - sourcePosition;
118 rotationAxis = upDirection;
123 return QQuaternion::fromAxisAndAngle(rotationAxis, rotationAngle);
133 const QQuaternion q1 = QQuaternion::fromAxisAndAngle(axis1, angle1);
134 const QQuaternion q2 = QQuaternion::fromAxisAndAngle(axis2, angle2);
135 const QQuaternion q3 = QQuaternion::fromAxisAndAngle(axis3, angle3);
144 const QQuaternion q1 = QQuaternion::fromAxisAndAngle(axis1, angle1);
145 const QQuaternion q2 = QQuaternion::fromAxisAndAngle(axis2, angle2);
The QQuaternion class represents a quaternion consisting of a vector and scalar.
static Q_INVOKABLE QQuaternion fromAxesAndAngles(const QVector3D &axis1, float angle1, const QVector3D &axis2, float angle2, const QVector3D &axis3, float angle3)
static Q_INVOKABLE QQuaternion fromAxisAndAngle(float x, float y, float z, float angle)
static Q_INVOKABLE QQuaternion fromEulerAngles(float x, float y, float z)
static Q_INVOKABLE QQuaternion lookAt(const QVector3D &sourcePosition, const QVector3D &targetPosition, const QVector3D &forwardDirection=QVector3D(0, 0, -1), const QVector3D &upDirection=QVector3D(0, 1, 0))
QQuick3DQuaternionUtils(QObject *parent=nullptr)
\qmltype Quaternion \inqmlmodule QtQuick3D
The QVector3D class represents a vector or vertex in 3D space.
QVector3D normalized() const noexcept
Returns the normalized unit vector form of this vector.
static constexpr float dotProduct(QVector3D v1, QVector3D v2) noexcept
Returns the dot product of v1 and v2.
static constexpr QVector3D crossProduct(QVector3D v1, QVector3D v2) noexcept
Returns the cross-product of vectors v1 and v2, which is normal to the plane spanned by v1 and v2.
void normalize() noexcept
Normalizes the current vector in place.
Combined button and popup list for selecting options.
bool qFuzzyIsNull(qfloat16 f) noexcept
constexpr float qRadiansToDegrees(float radians)
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
GLint GLint GLint GLint GLint x
[0]
static qreal dot(const QPointF &a, const QPointF &b)