예제 #1
0
    QMatrix4x4 AffineTransform::matrix(QVector3D const& _center) const {
        QMatrix4x4 _m;

        _m.translate(_center);
        if (translationEnabled()) _m.translate(translation_);
        if (rotationEnabled()) _m *= rotation_.matrix();
        if (scaleEnabled()) {
          _m.scale(scale());

        }
        _m.translate(-_center);
        return _m;
    }
예제 #2
0
void QgsMapCanvas::setRotation( double degrees )
{
  if ( !rotationEnabled() )
    return;

  double current = rotation();

  if ( degrees == current )
    return;

  mSettings.setRotation( degrees );
  emit rotationChanged( degrees );
  emit extentsChanged(); // visible extent changes with rotation

  // notify canvas items of change (needed?)
  updateCanvasItemPositions();

} // setRotation