summaryrefslogtreecommitdiffstats
path: root/src/threed/graphicsview/qgraphicsrotation3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/threed/graphicsview/qgraphicsrotation3d.cpp')
-rw-r--r--src/threed/graphicsview/qgraphicsrotation3d.cpp274
1 files changed, 0 insertions, 274 deletions
diff --git a/src/threed/graphicsview/qgraphicsrotation3d.cpp b/src/threed/graphicsview/qgraphicsrotation3d.cpp
deleted file mode 100644
index d23e2936..00000000
--- a/src/threed/graphicsview/qgraphicsrotation3d.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtQuick3D module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qgraphicsrotation3d.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QGraphicsRotation3D
- \brief The QGraphicsRotation3D class supports arbitrary rotation around an axis in 3D space.
- \since 4.8
- \ingroup qt3d
- \ingroup qt3d::graphicsview
-
- \sa QGraphicsTranslation3D, QGraphicsScale3D
-*/
-
-/*!
- \qmlclass Rotation3D QGraphicsRotation3D
- \brief The Rotation3D item supports arbitrary rotation around an axis in 3D space.
- \since 4.8
- \ingroup qt3d::qml3d
-
- Frequently a user will create and item in the 3d world and immediately
- wish to apply a rotation to that item before it is displayed, or,
- optionally, perform an animation on that rotation parameter based on
- user inputs, or other events. Such an rotation can easily be defined
- in QML using the following code:
-
- \code
- Item3D {
- id: helicoptor
- mesh: Mesh {source: "monkey.3ds"}
- effect: Effect {}
- cullFaces: "CullBackFaces"
-
- transform: [
- Rotation3D {
- id: rotate1
- angle: 5
- axis: Qt.vector3d(1, 0, 0)
- },
- Rotation3D {
- id: rotate2
- angle: 5
- axis: Qt.vector3d(0, 1, 0)
- },
- Rotation3D {
- id: rotate3
- angle: 45
- axis: Qt.vector3d(0, 0, 1)
- }
- ]
-
- SequentialAnimation {
- NumberAnimation {target: rotate1; property: "angle"; to : 360.0; duration: 3000; easing.type:easeOutQuad }
- }
- }
- \endcode
-
- Notice here that we create a list of rotations for the \c transform
- property of the container item. By doing this we allow rotations
- around each of the axes individually in a manner which is conducive
- to animation and interaction.
-
- Each of the rotations has an \c axis property which is a QVector3D.
- This vector contains a value for each of the three components
- corresponding to x, y, and z. In the above example, we first
- rotate by 5 degrees about the x axis, then 5 degrees about the y
- axis, and finally by 45 degrees about the z axis.
-
- By giving each rotation a unique \c id users can then refer to these
- rotations in the QML source in order to perform rotational animations.
-
- \sa Translation3D, Scale3D
-*/
-
-class QGraphicsRotation3DPrivate
-{
-public:
- QGraphicsRotation3DPrivate() : axis(0, 0, 1), angle(0) {}
-
- QVector3D origin;
- QVector3D axis;
- qreal angle;
-};
-
-/*!
- Create a 3D rotation transformation and attach it to \a parent.
-*/
-QGraphicsRotation3D::QGraphicsRotation3D(QObject *parent)
- : QGraphicsTransform3D(parent)
- , d_ptr(new QGraphicsRotation3DPrivate)
-{
-}
-
-/*!
- Destroy this 3D rotation transformation.
-*/
-QGraphicsRotation3D::~QGraphicsRotation3D()
-{
-}
-
-/*!
- \property QGraphicsRotation3D::origin
- \brief the origin about which to rotate.
-
- The default value for this property is (0, 0, 0).
-*/
-
-/*!
- \qmlproperty vector3D Rotation3D::origin
-
- The origin about which to rotate. The default value for this
- property is (0, 0, 0).
-*/
-
-QVector3D QGraphicsRotation3D::origin() const
-{
- Q_D(const QGraphicsRotation3D);
- return d->origin;
-}
-
-void QGraphicsRotation3D::setOrigin(const QVector3D &value)
-{
- Q_D(QGraphicsRotation3D);
- if (d->origin != value) {
- d->origin = value;
- emit transformChanged();
- emit originChanged();
- }
-}
-
-/*!
- \property QGraphicsRotation3D::angle
- \brief the angle to rotate around the axis, in degrees anti-clockwise.
-
- The default value for this property is 0.
-*/
-
-/*!
- \qmlproperty real Rotation3D::angle
-
- The angle to rotate around the axis, in degrees anti-clockwise.
- The default value for this property is 0.
-*/
-
-qreal QGraphicsRotation3D::angle() const
-{
- Q_D(const QGraphicsRotation3D);
- return d->angle;
-}
-
-void QGraphicsRotation3D::setAngle(qreal value)
-{
- Q_D(QGraphicsRotation3D);
- if (d->angle != value) {
- d->angle = value;
- emit transformChanged();
- emit angleChanged();
- }
-}
-
-/*!
- \property QGraphicsRotation3D::axis
- \brief the axis to rotate around.
-
- The default value for this property is (0, 0, 1); i.e. the z-axis.
-*/
-
-/*!
- \qmlproperty vector3D Rotation3D::axis
-
- The axis to rotate around. The default value for this property
- is (0, 0, 1); i.e. the z-axis.
-*/
-
-QVector3D QGraphicsRotation3D::axis() const
-{
- Q_D(const QGraphicsRotation3D);
- return d->axis;
-}
-
-void QGraphicsRotation3D::setAxis(const QVector3D &value)
-{
- Q_D(QGraphicsRotation3D);
- if (d->axis != value) {
- d->axis = value;
- emit transformChanged();
- emit axisChanged();
- }
-}
-
-/*!
- \internal
-*/
-void QGraphicsRotation3D::applyTo(QMatrix4x4 *matrix) const
-{
- Q_D(const QGraphicsRotation3D);
- matrix->translate(d->origin);
- matrix->rotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z());
- matrix->translate(-d->origin);
-}
-
-/*!
- \internal
-*/
-QGraphicsTransform3D *QGraphicsRotation3D::clone(QObject *parent) const
-{
- Q_D(const QGraphicsRotation3D);
- QGraphicsRotation3D *copy = new QGraphicsRotation3D(parent);
- copy->setOrigin(d->origin);
- copy->setAxis(d->axis);
- copy->setAngle(d->angle);
- return copy;
-}
-
-/*!
- \fn void QGraphicsRotation3D::originChanged()
-
- Signal that is emitted when origin() changes.
-*/
-
-/*!
- \fn void QGraphicsRotation3D::angleChanged()
-
- Signal that is emitted when angle() changes.
-*/
-
-/*!
- \fn void QGraphicsRotation3D::axisChanged()
-
- Signal that is emitted when axis() changes.
-*/
-
-QT_END_NAMESPACE