コード例 #1
0
QSizeF QgsDiagramRendererV2::sizeMapUnits( const QgsAttributeMap& attributes, const QgsRenderContext& c )
{
    QgsDiagramSettings s;
    if ( !diagramSettings( attributes, c, s ) )
    {
        return QSizeF();
    }

    QSizeF size = diagramSize( attributes, c );
    if ( s.sizeType == QgsDiagramSettings::MM )
    {
        convertSizeToMapUnits( size, c );
    }
    return size;
}
コード例 #2
0
ファイル: qgsdiagramrenderer.cpp プロジェクト: V17nika/QGIS
QSizeF QgsDiagramRenderer::sizeMapUnits( const QgsFeature& feature, const QgsRenderContext& c ) const
{
  QgsDiagramSettings s;
  if ( !diagramSettings( feature, c, s ) )
  {
    return QSizeF();
  }

  QSizeF size = diagramSize( feature, c );
  if ( size.isValid() )
  {
    double width = QgsSymbolLayerUtils::convertToMapUnits( c, size.width(), s.sizeType, s.sizeScale );
    size.rheight() *= width / size.width();
    size.setWidth( width );
  }
  return size;
}
コード例 #3
0
bool QgsLinearlyInterpolatedDiagramRenderer::diagramSettings( const QgsAttributeMap& attributes, const QgsRenderContext& c, QgsDiagramSettings& s )
{
    s = mSettings;
    s.size = diagramSize( attributes, c );
    return true;
}
コード例 #4
0
ファイル: qgsdiagramrendererv2.cpp プロジェクト: paulfab/QGIS
bool QgsLinearlyInterpolatedDiagramRenderer::diagramSettings( const QgsFeature& feature, const QgsRenderContext& c, QgsDiagramSettings& s )
{
  s = mSettings;
  s.size = diagramSize( feature, c );
  return true;
}