18 #ifndef QGSPOINTDISPLACEMENTRENDERER_H
19 #define QGSPOINTDISPLACEMENTRENDERER_H
21 #include "qgis_core.h"
54 QSet<QString> usedAttributes( const
QgsRenderContext &context ) const override;
66 void setCircleWidth(
double width ) { mCircleWidth = width; }
160 std::unique_ptr< QgsMarkerSymbol > mCenterSymbol;
163 Placement mPlacement = Ring;
166 double mCircleWidth = 0.4;
170 double mCircleRadiusAddition = 0;
172 double mLabelDistanceFactor = 0.5;
177 void calculateSymbolAndLabelPositions(
QgsSymbolRenderContext &symbolContext, QPointF centerPoint,
int nPosition,
double symbolDiagonal, QList<QPointF> &symbolPositions, QList<QPointF> &labelShifts,
double &circleRadius,
178 double &gridRadius,
int &gridSize, QVector<double> &diagonals )
const;
179 void drawCircle(
double radiusPainterUnits,
QgsSymbolRenderContext &context, QPointF centerPoint,
int nSymbols );
180 void drawSymbols(
const ClusteredGroup &group,
QgsRenderContext &context,
const QList<QPointF> &symbolPositions );
182 QList<QPointF> pointSymbolPositions,
int nSymbols );
183 void centralizeGrid( QList<QPointF> &pointSymbolPositions,
double radius,
int size )
const;
186 #endif // QGSPOINTDISPLACEMENTRENDERER_H