250void QQuickScale::applyTo(QMatrix4x4 *matrix)
const
252 Q_D(
const QQuickScale);
253 matrix->translate(d->origin);
254 matrix->scale(d->xScale, d->yScale, d->zScale);
255 matrix->translate(-d->origin);
386void QQuickRotation::setAxis(Qt::Axis axis)
391 setAxis(QVector3D(1, 0, 0));
394 setAxis(QVector3D(0, 1, 0));
397 setAxis(QVector3D(0, 0, 1));
430void QQuickRotation::setDistanceToPlane(qreal newDistanceToPlane)
433 if (qFuzzyCompare(d->distanceToPlane, newDistanceToPlane))
435 d->distanceToPlane = newDistanceToPlane;
436 emit distanceToPlaneChanged();
439void QQuickRotation::applyTo(QMatrix4x4 *matrix)
const
441 Q_D(
const QQuickRotation);
443 if (d->angle == 0. || d->axis.isNull())
446 matrix->translate(d->origin);
447 matrix->projectedRotate(d->angle, d->axis.x(), d->axis.y(), d->axis.z(), d->distanceToPlane);
448 matrix->translate(-d->origin);
646void QQuickShear::applyTo(QMatrix4x4 *matrix)
const
648 Q_D(
const QQuickShear);
649 if (d->xFactor == 0.0 && d->yFactor == 0.0 && d->xAngle == 0.0 && d->yAngle == 0.0)
652 const qreal xShear = qTan(qDegreesToRadians(d->xAngle)) + d->xFactor;
653 const qreal yShear = qTan(qDegreesToRadians(d->yAngle)) + d->yFactor;
655 matrix->translate(d->origin);
656 *matrix *= QMatrix4x4(1.0, xShear, 0.0, 0.0,
657 yShear, 1.0, 0.0, 0.0,
660 matrix->translate(-d->origin);