QGIS API Documentation
2.10.1-Pisa
|
#include <qgsrendererv2.h>
Public Types | |
enum | Capabilities { SymbolLevels = 1, RotationField = 1 << 1, MoreSymbolsPerFeature = 1 << 2, Filter = 1 << 3, ScaleDependent = 1 << 4 } |
Public Member Functions | |
virtual | ~QgsFeatureRendererV2 () |
virtual int | capabilities () |
returns bitwise OR-ed capabilities of the renderer More... | |
virtual void | checkLegendSymbolItem (QString key, bool state=true) |
item in symbology was checked More... | |
virtual QgsFeatureRendererV2 * | clone () const =0 |
virtual QString | dump () const |
for debugging More... | |
virtual QString | legendClassificationAttribute () const |
If supported by the renderer, return classification attribute for the use in legend. More... | |
virtual bool | legendSymbolItemChecked (QString key) |
items of symbology items in legend is checked More... | |
virtual QgsLegendSymbolList | legendSymbolItems (double scaleDenominator=-1, QString rule="") |
return a list of item text / symbol More... | |
virtual bool | legendSymbolItemsCheckable () const |
items of symbology items in legend should be checkable More... | |
virtual QgsLegendSymbolListV2 | legendSymbolItemsV2 () const |
Return a list of symbology items for the legend. More... | |
virtual QgsLegendSymbologyList | legendSymbologyItems (QSize iconSize) |
return a list of symbology items for the legend More... | |
virtual void | modifyRequestExtent (QgsRectangle &extent, QgsRenderContext &context) |
Allows for a renderer to modify the extent of a feature request prior to rendering. More... | |
virtual QgsSymbolV2 * | originalSymbolForFeature (QgsFeature &feature) |
Return symbol for feature. More... | |
virtual QgsSymbolV2List | originalSymbolsForFeature (QgsFeature &feat) |
Equivalent of originalSymbolsForFeature() call extended to support renderers that may use more symbols per feature - similar to symbolsForFeature() More... | |
QgsPaintEffect * | paintEffect () const |
Returns the current paint effect for the renderer. More... | |
virtual bool | renderFeature (QgsFeature &feature, QgsRenderContext &context, int layer=-1, bool selected=false, bool drawVertexMarker=false) |
virtual QString | rotationField () const |
return rotation field name (or empty string if not set or not supported by renderer) More... | |
virtual QDomElement | save (QDomDocument &doc) |
store renderer info to XML element More... | |
void | setPaintEffect (QgsPaintEffect *effect) |
Sets the current paint effect for the renderer. More... | |
virtual void | setRotationField (QString fieldName) |
sets rotation field of renderer (if supported by the renderer) More... | |
void | setUsingSymbolLevels (bool usingSymbolLevels) |
void | setVertexMarkerAppearance (int type, int size) |
set type and size of editing vertex markers for subsequent rendering More... | |
virtual void | startRender (QgsRenderContext &context, const QgsFields &fields)=0 |
virtual Q_DECL_DEPRECATED void | startRender (QgsRenderContext &context, const QgsVectorLayer *vlayer) |
virtual void | stopRender (QgsRenderContext &context)=0 |
virtual QgsSymbolV2 * | symbolForFeature (QgsFeature &feature)=0 |
to be overridden More... | |
virtual QgsSymbolV2List | symbols ()=0 |
for symbol levels More... | |
virtual QgsSymbolV2List | symbolsForFeature (QgsFeature &feat) |
return list of symbols used for rendering the feature. More... | |
virtual void | toSld (QDomDocument &doc, QDomElement &element) const |
used from subclasses to create SLD Rule elements following SLD v1.1 specs More... | |
QString | type () const |
virtual QList< QString > | usedAttributes ()=0 |
bool | usingSymbolLevels () const |
virtual bool | willRenderFeature (QgsFeature &feat) |
return whether the renderer will render a feature or not. More... | |
virtual Q_DECL_DEPRECATED QDomElement | writeSld (QDomDocument &doc, const QgsVectorLayer &layer) const |
create the SLD UserStyle element following the SLD v1.1 specs More... | |
virtual QDomElement | writeSld (QDomDocument &doc, const QString &styleName) const |
create the SLD UserStyle element following the SLD v1.1 specs with the given name More... | |
Static Public Member Functions | |
static QgsFeatureRendererV2 * | defaultRenderer (QGis::GeometryType geomType) |
return a new renderer - used by default in vector layers More... | |
static QgsFeatureRendererV2 * | load (QDomElement &symbologyElem) |
create a renderer from XML element More... | |
static QgsFeatureRendererV2 * | loadSld (const QDomNode &node, QGis::GeometryType geomType, QString &errorMessage) |
create a new renderer according to the information contained in the UserStyle element of a SLD style document More... | |
Protected Member Functions | |
QgsFeatureRendererV2 (QString type) | |
void | copyPaintEffect (QgsFeatureRendererV2 *destRenderer) const |
Copies paint effect of this renderer to another renderer. More... | |
void | renderFeatureWithSymbol (QgsFeature &feature, QgsSymbolV2 *symbol, QgsRenderContext &context, int layer, bool selected, bool drawVertexMarker) |
void | renderVertexMarker (QPointF &pt, QgsRenderContext &context) |
render editing vertex marker at specified point More... | |
void | renderVertexMarkerPolygon (QPolygonF &pts, QList< QPolygonF > *rings, QgsRenderContext &context) |
render editing vertex marker for a polygon More... | |
void | renderVertexMarkerPolyline (QPolygonF &pts, QgsRenderContext &context) |
render editing vertex marker for a polyline More... | |
void | setScaleMethodToSymbol (QgsSymbolV2 *symbol, int scaleMethod) |
Static Protected Member Functions | |
static const unsigned char * | _getLineString (QPolygonF &pts, QgsRenderContext &context, const unsigned char *wkb, bool clipToExtent=true) |
static const unsigned char * | _getPoint (QPointF &pt, QgsRenderContext &context, const unsigned char *wkb) |
static const unsigned char * | _getPolygon (QPolygonF &pts, QList< QPolygonF > &holes, QgsRenderContext &context, const unsigned char *wkb, bool clipToExtent=true) |
static void | convertSymbolRotation (QgsSymbolV2 *symbol, const QString &field) |
static void | convertSymbolSizeScale (QgsSymbolV2 *symbol, QgsSymbolV2::ScaleMethod method, const QString &field) |
Protected Attributes | |
int | mCurrentVertexMarkerSize |
The current size of editing marker. More... | |
int | mCurrentVertexMarkerType |
The current type of editing marker. More... | |
QgsPaintEffect * | mPaintEffect |
QString | mType |
bool | mUsingSymbolLevels |
Definition at line 74 of file qgsrendererv2.h.
Enumerator | |
---|---|
SymbolLevels | |
RotationField | |
MoreSymbolsPerFeature | |
Filter | |
ScaleDependent |
Definition at line 116 of file qgsrendererv2.h.
|
virtual |
Definition at line 217 of file qgsrendererv2.cpp.
|
protected |
Definition at line 206 of file qgsrendererv2.cpp.
|
staticprotected |
Definition at line 63 of file qgsrendererv2.cpp.
|
staticprotected |
Definition at line 43 of file qgsrendererv2.cpp.
|
staticprotected |
Definition at line 114 of file qgsrendererv2.cpp.
|
inlinevirtual |
returns bitwise OR-ed capabilities of the renderer
Reimplemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsSingleSymbolRendererV2, and QgsPointDisplacementRenderer.
Definition at line 126 of file qgsrendererv2.h.
|
virtual |
item in symbology was checked
Reimplemented in QgsGraduatedSymbolRendererV2, QgsRuleBasedRendererV2, and QgsCategorizedSymbolRendererV2.
Definition at line 575 of file qgsrendererv2.cpp.
|
pure virtual |
|
staticprotected |
Definition at line 686 of file qgsrendererv2.cpp.
|
staticprotected |
Definition at line 661 of file qgsrendererv2.cpp.
|
protected |
Copies paint effect of this renderer to another renderer.
destRenderer | destination renderer for copied effect |
Definition at line 197 of file qgsrendererv2.cpp.
|
static |
return a new renderer - used by default in vector layers
Definition at line 222 of file qgsrendererv2.cpp.
|
virtual |
for debugging
Reimplemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsSingleSymbolRendererV2, and QgsHeatmapRenderer.
Definition at line 402 of file qgsrendererv2.cpp.
|
inlinevirtual |
If supported by the renderer, return classification attribute for the use in legend.
Reimplemented in QgsGraduatedSymbolRendererV2, and QgsCategorizedSymbolRendererV2.
Definition at line 189 of file qgsrendererv2.h.
|
virtual |
items of symbology items in legend is checked
Reimplemented in QgsGraduatedSymbolRendererV2, QgsRuleBasedRendererV2, and QgsCategorizedSymbolRendererV2.
Definition at line 569 of file qgsrendererv2.cpp.
|
virtual |
return a list of item text / symbol
Reimplemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsSingleSymbolRendererV2, and QgsPointDisplacementRenderer.
Definition at line 581 of file qgsrendererv2.cpp.
|
virtual |
items of symbology items in legend should be checkable
Reimplemented in QgsGraduatedSymbolRendererV2, QgsRuleBasedRendererV2, and QgsCategorizedSymbolRendererV2.
Definition at line 564 of file qgsrendererv2.cpp.
|
virtual |
Return a list of symbology items for the legend.
Better choice than legendSymbolItems(). Default fallback implementation just uses legendSymbolItems() implementation
Reimplemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, and QgsSingleSymbolRendererV2.
Definition at line 588 of file qgsrendererv2.cpp.
|
virtual |
return a list of symbology items for the legend
Reimplemented in QgsGraduatedSymbolRendererV2, QgsRuleBasedRendererV2, QgsCategorizedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsSingleSymbolRendererV2, and QgsPointDisplacementRenderer.
Definition at line 557 of file qgsrendererv2.cpp.
|
static |
create a renderer from XML element
Definition at line 408 of file qgsrendererv2.cpp.
|
static |
create a new renderer according to the information contained in the UserStyle element of a SLD style document
node | the node in the SLD document whose the UserStyle element is a child |
geomType | the geometry type of the features, used to convert Symbolizer elements |
errorMessage | it will contain the error message if something went wrong |
Definition at line 448 of file qgsrendererv2.cpp.
|
inlinevirtual |
Allows for a renderer to modify the extent of a feature request prior to rendering.
extent | reference to request's filter extent. Modify extent to change the extent of feature request |
context | render context |
Reimplemented in QgsHeatmapRenderer.
Definition at line 220 of file qgsrendererv2.h.
|
inlinevirtual |
Return symbol for feature.
The difference compared to symbolForFeature() is that it returns original symbol which can be used as an identifier for renderer's rule - the former may return a temporary replacement of a symbol for use in rendering.
Reimplemented in QgsGraduatedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsCategorizedSymbolRendererV2, QgsPointDisplacementRenderer, and QgsSingleSymbolRendererV2.
Definition at line 96 of file qgsrendererv2.h.
|
virtual |
Equivalent of originalSymbolsForFeature() call extended to support renderers that may use more symbols per feature - similar to symbolsForFeature()
Reimplemented in QgsRuleBasedRendererV2, QgsInvertedPolygonRenderer, and QgsPointDisplacementRenderer.
Definition at line 642 of file qgsrendererv2.cpp.
QgsPaintEffect * QgsFeatureRendererV2::paintEffect | ( | ) | const |
Returns the current paint effect for the renderer.
Definition at line 650 of file qgsrendererv2.cpp.
|
virtual |
Reimplemented in QgsRuleBasedRendererV2, QgsInvertedPolygonRenderer, QgsHeatmapRenderer, and QgsPointDisplacementRenderer.
Definition at line 232 of file qgsrendererv2.cpp.
|
protected |
Definition at line 242 of file qgsrendererv2.cpp.
|
protected |
render editing vertex marker at specified point
Definition at line 606 of file qgsrendererv2.cpp.
|
protected |
render editing vertex marker for a polygon
Definition at line 619 of file qgsrendererv2.cpp.
|
protected |
render editing vertex marker for a polyline
Definition at line 613 of file qgsrendererv2.cpp.
|
inlinevirtual |
return rotation field name (or empty string if not set or not supported by renderer)
Reimplemented in QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, and QgsSingleSymbolRendererV2.
Definition at line 195 of file qgsrendererv2.h.
|
virtual |
store renderer info to XML element
Reimplemented in QgsGraduatedSymbolRendererV2, QgsRuleBasedRendererV2, QgsCategorizedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsSingleSymbolRendererV2, QgsPointDisplacementRenderer, and QgsHeatmapRenderer.
Definition at line 437 of file qgsrendererv2.cpp.
void QgsFeatureRendererV2::setPaintEffect | ( | QgsPaintEffect * | effect | ) |
Sets the current paint effect for the renderer.
effect | paint effect. Ownership is transferred to the renderer. |
Definition at line 655 of file qgsrendererv2.cpp.
|
inlinevirtual |
sets rotation field of renderer (if supported by the renderer)
Reimplemented in QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, and QgsSingleSymbolRendererV2.
Definition at line 197 of file qgsrendererv2.h.
|
protected |
Definition at line 182 of file qgsrendererv2.cpp.
|
inline |
Definition at line 132 of file qgsrendererv2.h.
void QgsFeatureRendererV2::setVertexMarkerAppearance | ( | int | type, |
int | size | ||
) |
set type and size of editing vertex markers for subsequent rendering
Definition at line 600 of file qgsrendererv2.cpp.
|
pure virtual |
|
virtual |
Definition at line 227 of file qgsrendererv2.cpp.
|
pure virtual |
|
pure virtual |
to be overridden
feature | feature |
Implemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsCategorizedSymbolRendererV2, QgsPointDisplacementRenderer, QgsHeatmapRenderer, and QgsSingleSymbolRendererV2.
|
pure virtual |
for symbol levels
Implemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, QgsInvertedPolygonRenderer, QgsSingleSymbolRendererV2, QgsPointDisplacementRenderer, and QgsHeatmapRenderer.
|
virtual |
return list of symbols used for rendering the feature.
For renderers that do not support MoreSymbolsPerFeature it is more efficient to use symbolForFeature()
Reimplemented in QgsRuleBasedRendererV2, QgsInvertedPolygonRenderer, and QgsPointDisplacementRenderer.
Definition at line 634 of file qgsrendererv2.cpp.
|
inlinevirtual |
used from subclasses to create SLD Rule elements following SLD v1.1 specs
Reimplemented in QgsRuleBasedRendererV2, QgsGraduatedSymbolRendererV2, QgsCategorizedSymbolRendererV2, QgsSingleSymbolRendererV2, and QgsPointDisplacementRenderer.
Definition at line 160 of file qgsrendererv2.h.
|
inline |
Definition at line 82 of file qgsrendererv2.h.
|
inline |
Definition at line 131 of file qgsrendererv2.h.
|
inlinevirtual |
return whether the renderer will render a feature or not.
Must be called between startRender() and stopRender() calls. Default implementation uses symbolForFeature().
Reimplemented in QgsRuleBasedRendererV2, QgsInvertedPolygonRenderer, and QgsPointDisplacementRenderer.
Definition at line 202 of file qgsrendererv2.h.
|
virtual |
create the SLD UserStyle element following the SLD v1.1 specs
Definition at line 537 of file qgsrendererv2.cpp.
|
virtual |
create the SLD UserStyle element following the SLD v1.1 specs with the given name
Definition at line 542 of file qgsrendererv2.cpp.
|
protected |
The current size of editing marker.
Definition at line 271 of file qgsrendererv2.h.
|
protected |
The current type of editing marker.
Definition at line 269 of file qgsrendererv2.h.
|
protected |
Definition at line 273 of file qgsrendererv2.h.
|
protected |
Definition at line 264 of file qgsrendererv2.h.
|
protected |
Definition at line 266 of file qgsrendererv2.h.