QGraphicsRotation Class
The QGraphicsRotation class provides a rotation transformation around a given axis. More...
Header: | #include <QGraphicsRotation> |
qmake: | QT += widgets |
Since: | Qt 4.6 |
Inherits: | QGraphicsTransform. |
Properties
- 1 property inherited from QObject
Public Functions
QGraphicsRotation(QObject * parent = 0) | |
~QGraphicsRotation() | |
qreal | angle() const |
QVector3D | axis() const |
QVector3D | origin() const |
void | setAngle(qreal) |
void | setAxis(const QVector3D & axis) |
void | setAxis(Qt::Axis axis) |
void | setOrigin(const QVector3D & point) |
Reimplemented Public Functions
virtual void | applyTo(QMatrix4x4 * matrix) const |
- 1 public function inherited from QGraphicsTransform
- 31 public functions inherited from QObject
Signals
void | angleChanged() |
void | axisChanged() |
void | originChanged() |
- 2 signals inherited from QObject
Additional Inherited Members
- 1 public slot inherited from QObject
- 11 static public members inherited from QObject
- 9 protected functions inherited from QObject
- 1 protected slot inherited from QGraphicsTransform
Detailed Description
The QGraphicsRotation class provides a rotation transformation around a given axis.
You can provide the desired axis by assigning a QVector3D to the axis property or by passing a member if Qt::Axis to the setAxis convenience function. By default the axis is (0, 0, 1) i.e., rotation around the Z axis.
The angle property, which is provided by QGraphicsRotation, now describes the number of degrees to rotate around this axis.
QGraphicsRotation provides certain parameters to help control how the rotation should be applied.
The origin is the point that the item is rotated around (i.e., it stays fixed relative to the parent as the rest of the item is rotated). By default the origin is QPointF(0, 0).
The angle property provides the number of degrees to rotate the item clockwise around the origin. This value also be negative, indicating a counter-clockwise rotation. For animation purposes it may also be useful to provide rotation angles exceeding (-360, 360) degrees, for instance to animate how an item rotates several times.
Note: the final rotation is the combined effect of a rotation in 3D space followed by a projection back to 2D. If several rotations are performed in succession, they will not behave as expected unless they were all around the Z axis.
See also QGraphicsTransform, QGraphicsItem::setRotation(), and QTransform::rotate().
Property Documentation
angle : qreal
This property holds the angle for clockwise rotation, in degrees.
The angle can be any real number; the default value is 0.0. A value of 180 will rotate 180 degrees, clockwise. If you provide a negative number, the item will be rotated counter-clockwise. Normally the rotation angle will be in the range (-360, 360), but you can also provide numbers outside of this range (e.g., a angle of 370 degrees gives the same result as 10 degrees). Setting the angle to NaN results in no rotation.
Access functions:
qreal | angle() const |
void | setAngle(qreal) |
Notifier signal:
void | angleChanged() |
See also origin.
axis : QVector3D
This property holds a rotation axis, specified by a vector in 3D space.
This can be any axis in 3D space. By default the axis is (0, 0, 1), which is aligned with the Z axis. If you provide another axis, QGraphicsRotation will provide a transformation that rotates around this axis. For example, if you would like to rotate an item around its X axis, you could pass (1, 0, 0) as the axis.
Access functions:
QVector3D | axis() const |
void | setAxis(const QVector3D & axis) |
void | setAxis(Qt::Axis axis) |
Notifier signal:
void | axisChanged() |
See also QTransform and QGraphicsRotation::angle.
origin : QVector3D
This property holds the origin of the rotation in 3D space.
All rotations will be done relative to this point (i.e., this point will stay fixed, relative to the parent, when the item is rotated).
Access functions:
QVector3D | origin() const |
void | setOrigin(const QVector3D & point) |
Notifier signal:
void | originChanged() |
See also angle.
Member Function Documentation
QGraphicsRotation::QGraphicsRotation(QObject * parent = 0)
Constructs a new QGraphicsRotation with the given parent.
QGraphicsRotation::~QGraphicsRotation()
Destroys the graphics rotation.
[virtual]
void QGraphicsRotation::applyTo(QMatrix4x4 * matrix) const
Reimplemented from QGraphicsTransform::applyTo().
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.