Class: QgsInvertedPolygonRenderer

class qgis.core.QgsInvertedPolygonRenderer(embeddedRenderer: QgsFeatureRenderer = None)

Bases: QgsFeatureRenderer

Constructor

Parameters

embeddedRenderer (QgsFeatureRenderer = None) – optional embeddedRenderer. If null, a default one will be assigned. Ownership will be transferred.

QgsInvertedPolygonRenderer is a polygon-only feature renderer used to display features inverted, where the exterior is turned to an interior and where the exterior theoretically spans the entire plane, allowing to mask the surroundings of some features.

It is designed on top of another feature renderer, which is called “embedded” Most of the methods are then only proxies to the embedded renderer.

Features are collected to form one “inverted” polygon during renderFeature() and rendered on stopRender().

Methods

capabilities

Proxy that will call this method on the embedded renderer.

checkLegendSymbolItem

param key

clone

Direct copies are forbidden.

convertFromRenderer

Creates a QgsInvertedPolygonRenderer by a conversion from an existing renderer.

convertSymbolRotation

convertSymbolSizeScale

copyRendererData

create

Creates a renderer out of an XML, for loading

dump

rtype

str

embeddedRenderer

rtype

QgsFeatureRenderer

filterNeedsGeometry

rtype

bool

legendSymbolItemChecked

param key

legendSymbolItems

Proxy that will call this method on the embedded renderer.

legendSymbolItemsCheckable

rtype

bool

originalSymbolForFeature

Proxy that will call this method on the embedded renderer.

originalSymbolsForFeature

Proxy that will call this method on the embedded renderer.

preprocessingEnabled

rtype

bool

renderFeature

Renders a given feature.

renderFeatureWithSymbol

renderVertexMarker

renderVertexMarkerPolygon

renderVertexMarkerPolyline

save

param doc

setEmbeddedRenderer

param subRenderer

setLegendSymbolItem

param key

setPreprocessingEnabled

type enabled

bool

startRender

param context

stopRender

The actual rendering will take place here.

symbolForFeature

Proxy that will call this method on the embedded renderer.

symbols

Proxy that will call this method on the embedded renderer.

symbolsForFeature

Proxy that will call this method on the embedded renderer.

usedAttributes

Proxy that will call this method on the embedded renderer.

willRenderFeature

Proxy that will call this method on the embedded renderer.

capabilities(self) → QgsFeatureRenderer.Capabilities

Proxy that will call this method on the embedded renderer.

Return type

QgsFeatureRenderer.Capabilities

checkLegendSymbolItem(self, key: str, state: bool = True)
Parameters
  • key (str) –

  • state (bool = True) –

clone(self) → QgsInvertedPolygonRenderer

Direct copies are forbidden. Use clone() instead.

Return type

QgsInvertedPolygonRenderer

convertFromRenderer(renderer: QgsFeatureRenderer) → QgsInvertedPolygonRenderer

Creates a QgsInvertedPolygonRenderer by a conversion from an existing renderer.

Return type

QgsInvertedPolygonRenderer

Returns

a new renderer if the conversion was possible, otherwise 0.

New in version 2.5.

Parameters

renderer (QgsFeatureRenderer) –

convertSymbolRotation()
convertSymbolSizeScale()
copyRendererData()
create(element: QDomElement, context: QgsReadWriteContext) → QgsFeatureRenderer

Creates a renderer out of an XML, for loading

Parameters
Return type

QgsFeatureRenderer

dump(self) → str
Return type

str

embeddedRenderer(self) → QgsFeatureRenderer
Return type

QgsFeatureRenderer

filterNeedsGeometry(self) → bool
Return type

bool

legendSymbolItemChecked(self, key: str) → bool
Parameters

key (str) –

Return type

bool

legendSymbolItems(self) → object

Proxy that will call this method on the embedded renderer.

Return type

object

legendSymbolItemsCheckable(self) → bool
Return type

bool

originalSymbolForFeature(self, feature: QgsFeature, context: QgsRenderContext) → QgsSymbol

Proxy that will call this method on the embedded renderer.

Parameters
Return type

QgsSymbol

originalSymbolsForFeature(self, feature: QgsFeature, context: QgsRenderContext) → object

Proxy that will call this method on the embedded renderer.

Parameters
Return type

object

preprocessingEnabled(self) → bool
Return type

bool

Returns

true if the geometries are to be preprocessed (merged with an union) before rendering.

renderFeature(self, feature: QgsFeature, context: QgsRenderContext, layer: int = -1, selected: bool = False, drawVertexMarker: bool = False) → bool

Renders a given feature. This will here collect features. The actual rendering will be postponed to stopRender()

Parameters
  • feature (QgsFeature) – the feature to render

  • context (QgsRenderContext) – the rendering context

  • layer (int = -1) – the symbol layer to render, if that makes sense

  • selected (bool = False) – whether this feature has been selected (this will add decorations)

  • drawVertexMarker (bool = False) – whether this feature has vertex markers (in edit mode usually)

Return type

bool

Returns

true if the rendering was OK

renderFeatureWithSymbol()
renderVertexMarker()
renderVertexMarkerPolygon()
renderVertexMarkerPolyline()
save(self, doc: QDomDocument, context: QgsReadWriteContext) → QDomElement
Parameters
Return type

QDomElement

setEmbeddedRenderer(self, subRenderer: QgsFeatureRenderer)
Parameters

subRenderer (QgsFeatureRenderer) –

setLegendSymbolItem(self, key: str, symbol: QgsSymbol)
Parameters
setPreprocessingEnabled(self, enabled: bool)
Parameters

enabled (bool) – enables or disables the preprocessing. When enabled, geometries will be merged with an union before being rendered. It allows fixing some rendering artifacts (when rendering overlapping polygons for instance). This will involve some CPU-demanding computations and is thus disabled by default.

startRender(self, context: QgsRenderContext, fields: QgsFields)
Parameters
stopRender(self, context: QgsRenderContext)

The actual rendering will take place here. Features collected during renderFeature() are rendered using the embedded feature renderer

Parameters

context (QgsRenderContext) –

symbolForFeature(self, feature: QgsFeature, context: QgsRenderContext) → QgsSymbol

Proxy that will call this method on the embedded renderer.

Parameters
Return type

QgsSymbol

symbols(self, context: QgsRenderContext) → object

Proxy that will call this method on the embedded renderer.

Parameters

context (QgsRenderContext) –

Return type

object

symbolsForFeature(self, feature: QgsFeature, context: QgsRenderContext) → object

Proxy that will call this method on the embedded renderer.

Parameters
Return type

object

usedAttributes(self, context: QgsRenderContext) → Set[str]

Proxy that will call this method on the embedded renderer.

Parameters

context (QgsRenderContext) –

Return type

Set[str]

willRenderFeature(self, feature: QgsFeature, context: QgsRenderContext) → bool

Proxy that will call this method on the embedded renderer.

Parameters
Return type

bool