249void QQuickScale::applyTo(QMatrix4x4 *matrix)
const
251 Q_D(
const QQuickScale);
252 matrix->translate(d->origin);
253 matrix->scale(d->xScale, d->yScale, d->zScale);
254 matrix->translate(-d->origin);
382void QQuickRotation::setAxis(Qt::Axis axis)
387 setAxis(QVector3D(1, 0, 0));
390 setAxis(QVector3D(0, 1, 0));
393 setAxis(QVector3D(0, 0, 1));
398void QQuickRotation::applyTo(QMatrix4x4 *matrix)
const
400 Q_D(
const QQuickRotation);
402 if (d->angle == 0. || d->axis.isNull())
405 matrix->translate(d->origin);
406 matrix->projectedRotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z());
407 matrix->translate(-d->origin);
604void QQuickShear::applyTo(QMatrix4x4 *matrix)
const
606 Q_D(
const QQuickShear);
607 if (d->xFactor == 0.0 && d->yFactor == 0.0 && d->xAngle == 0.0 && d->yAngle == 0.0)
610 const qreal xShear = qTan(qDegreesToRadians(d->xAngle)) + d->xFactor;
611 const qreal yShear = qTan(qDegreesToRadians(d->yAngle)) + d->yFactor;
613 matrix->translate(d->origin);
614 *matrix *= QMatrix4x4(1.0, xShear, 0.0, 0.0,
615 yShear, 1.0, 0.0, 0.0,
618 matrix->translate(-d->origin);