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);
383void QQuickRotation::setAxis(Qt::Axis axis)
388 setAxis(QVector3D(1, 0, 0));
391 setAxis(QVector3D(0, 1, 0));
394 setAxis(QVector3D(0, 0, 1));
429void QQuickRotation::setDistanceToPlane(qreal newDistanceToPlane)
432 if (qFuzzyCompare(d->distanceToPlane, newDistanceToPlane))
434 d->distanceToPlane = newDistanceToPlane;
435 emit distanceToPlaneChanged();
438void QQuickRotation::applyTo(QMatrix4x4 *matrix)
const
440 Q_D(
const QQuickRotation);
442 if (d->angle == 0. || d->axis.isNull())
445 matrix->translate(d->origin);
446 matrix->projectedRotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z(), d->distanceToPlane);
447 matrix->translate(-d->origin);
644void QQuickShear::applyTo(QMatrix4x4 *matrix)
const
646 Q_D(
const QQuickShear);
647 if (d->xFactor == 0.0 && d->yFactor == 0.0 && d->xAngle == 0.0 && d->yAngle == 0.0)
650 const qreal xShear = qTan(qDegreesToRadians(d->xAngle)) + d->xFactor;
651 const qreal yShear = qTan(qDegreesToRadians(d->yAngle)) + d->yFactor;
653 matrix->translate(d->origin);
654 *matrix *= QMatrix4x4(1.0, xShear, 0.0, 0.0,
655 yShear, 1.0, 0.0, 0.0,
658 matrix->translate(-d->origin);