void QgsSingleSymbolRendererV2::setRotationField( const QString& fieldOrExpression ) { if ( mSymbol->type() == QgsSymbolV2::Marker ) { QgsMarkerSymbolV2 * s = static_cast<QgsMarkerSymbolV2 *>( mSymbol.data() ); s->setDataDefinedAngle( QgsDataDefined( fieldOrExpression ) ); } }
void QgsFeatureRendererV2::convertSymbolRotation( QgsSymbolV2 * symbol, const QString & field ) { if ( symbol->type() == QgsSymbolV2::Marker ) { QgsMarkerSymbolV2 * s = static_cast<QgsMarkerSymbolV2 *>( symbol ); const QgsDataDefined dd(( s->angle() ? QString::number( s->angle() ) + " + " : QString() ) + field ); s->setDataDefinedAngle( dd ); } }
void QgsMapToolRotatePointSymbols::createPixmapItem( QgsMarkerSymbolV2* markerSymbol ) { if ( !mCanvas ) { return; } //get the image that is used for that symbol, but without point rotation QImage pointImage; if ( markerSymbol ) { QgsSymbolV2* clone = markerSymbol->clone(); QgsMarkerSymbolV2* markerClone = static_cast<QgsMarkerSymbolV2*>( clone ); markerClone->setDataDefinedAngle( QgsDataDefined() ); pointImage = markerClone->bigSymbolPreviewImage(); delete clone; } mRotationItem = new QgsPointRotationItem( mCanvas ); mRotationItem->setSymbol( pointImage ); }