18 #ifndef QGSPOINTDISPLACEMENTRENDERER_H
19 #define QGSPOINTDISPLACEMENTRENDERER_H
39 virtual void toSld( QDomDocument& doc, QDomElement &element )
const override;
67 QDomElement
save( QDomDocument& doc )
override;
83 Q_DECL_DEPRECATED
void setDisplacementGroups(
const QList<QMap<QgsFeatureId, QgsFeature> >& list ) { Q_UNUSED( list ); }
122 QString mLabelAttributeName;
140 double mCircleRadiusAddition;
144 double mMaxLabelScaleDenominator;
146 typedef QMap<QgsFeatureId, QgsFeature> DisplacementGroup;
148 QList<DisplacementGroup> mDisplacementGroups;
150 QMap<QgsFeatureId, int> mGroupIndex;
154 QSet<QgsFeatureId> mSelectedFeatures;
159 void printInfoDisplacementGroups();
165 void renderPoint(
const QPointF& point,
QgsSymbolV2RenderContext& context,
const QList<QgsMarkerSymbolV2*>& symbols,
166 const QStringList& labels );
169 void calculateSymbolAndLabelPositions(
const QPointF& centerPoint,
int nPosition,
double radius,
double symbolDiagonal, QList<QPointF>& symbolPositions, QList<QPointF>& labelShifts )
const;
170 void drawGroup(
const DisplacementGroup& group,
QgsRenderContext& context );
171 void drawCircle(
double radiusPainterUnits,
QgsSymbolV2RenderContext& context,
const QPointF& centerPoint,
int nSymbols );
172 void drawSymbols(
const QgsFeature& f,
QgsRenderContext& context,
const QList<QgsMarkerSymbolV2*>& symbolList,
const QList<QPointF>& symbolPositions,
bool selected =
false );
173 void drawLabels(
const QPointF& centerPoint,
QgsSymbolV2RenderContext& context,
const QList<QPointF>& labelShifts,
const QStringList& labelList );
178 #endif // QGSPOINTDISPLACEMENTRENDERER_H