QGIS API Documentation  3.20.0-Odense (decaadbb31)
Public Member Functions | Static Public Member Functions | List of all members
QgsInterpolatedLineSymbolLayer Class Reference

A symbol layer that represents vector layer line feature as interpolated line The interpolation is done between two values defined at the extremities. More...

#include <qgsinterpolatedlinerenderer.h>

Inheritance diagram for QgsInterpolatedLineSymbolLayer:
Inheritance graph
[legend]

Public Member Functions

 QgsInterpolatedLineSymbolLayer ()
 Constructor. More...
 
bool canCauseArtifactsBetweenAdjacentTiles () const override
 Returns true if the symbol layer rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature's geometry. More...
 
QgsInterpolatedLineSymbolLayerclone () const override
 Shall be reimplemented by subclasses to create a deep copy of the instance. More...
 
void drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override
 
QString endValueExpressionForColor () const
 Returns the expression related to the end extremity value for width for color. More...
 
QString endValueExpressionForWidth () const
 Returns the expression related to the end extremity value for width. More...
 
QgsInterpolatedLineColor interpolatedColor () const
 Returns the interpolated color used to render the colors of lines, see QgsInterpolatedLineColor. More...
 
QgsInterpolatedLineWidth interpolatedWidth () const
 Returns the interpolated width used to render the width of lines, see QgsInterpolatedLineWidth. More...
 
bool isCompatibleWithSymbol (QgsSymbol *symbol) const override
 Returns if the layer can be used below the specified symbol. More...
 
QString layerType () const override
 Returns a string that represents this layer type. More...
 
QVariantMap properties () const override
 Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer. More...
 
void renderPolyline (const QPolygonF &points, QgsSymbolRenderContext &context) override
 Renders the line symbol layer along the line joining points, using the given render context. More...
 
void setExpressionsStringForColor (QString start, QString end)
 Sets the expressions (as string) that define the extremety values af the line feature for color. More...
 
void setExpressionsStringForWidth (QString start, QString end)
 Sets the expressions (as string) that define the extremety values af the line feature for width. More...
 
void setInterpolatedColor (const QgsInterpolatedLineColor &interpolatedLineColor)
 Sets the interpolated color used to render the colors of lines, see QgsInterpolatedLineColor. More...
 
void setInterpolatedWidth (const QgsInterpolatedLineWidth &interpolatedLineWidth)
 Sets the interpolated width used to render the width of lines, see QgsInterpolatedLineWidth. More...
 
void setWidthUnit (const QgsUnitTypes::RenderUnit &strokeWidthUnit)
 Sets the width unit. More...
 
void startFeatureRender (const QgsFeature &feature, QgsRenderContext &context) override
 Called before the layer will be rendered for a particular feature. More...
 
void startRender (QgsSymbolRenderContext &context) override
 Called before a set of rendering operations commences on the supplied render context. More...
 
QString startValueExpressionForColor () const
 Returns the epression related to the start extremity value for width for color. More...
 
QString startValueExpressionForWidth () const
 Returns the epression related to the start extremity value for width. More...
 
void stopFeatureRender (const QgsFeature &feature, QgsRenderContext &context) override
 Called after the layer has been rendered for a particular feature. More...
 
void stopRender (QgsSymbolRenderContext &context) override
 Called after a set of rendering operations has finished on the supplied render context. More...
 
QSet< QString > usedAttributes (const QgsRenderContext &context) const override
 Returns the set of attributes referenced by the layer. More...
 
QgsUnitTypes::RenderUnit widthUnit () const
 Returns the width unit. More...
 
- Public Member Functions inherited from QgsLineSymbolLayer
 QgsLineSymbolLayer (const QgsLineSymbolLayer &other)=delete
 QgsLineSymbolLayer cannot be copied. More...
 
void drawPreviewIcon (QgsSymbolRenderContext &context, QSize size) override
 
double dxfWidth (const QgsDxfExport &e, QgsSymbolRenderContext &context) const override
 Gets line width. More...
 
QgsMapUnitScale mapUnitScale () const override
 
double offset () const
 Returns the line's offset. More...
 
const QgsMapUnitScaleoffsetMapUnitScale () const
 Returns the map unit scale for the line's offset. More...
 
QgsUnitTypes::RenderUnit offsetUnit () const
 Returns the units for the line's offset. More...
 
QgsLineSymbolLayeroperator= (const QgsLineSymbolLayer &other)=delete
 QgsLineSymbolLayer cannot be copied. More...
 
QgsUnitTypes::RenderUnit outputUnit () const override
 Returns the units to use for sizes and widths within the symbol layer. More...
 
virtual void renderPolygonStroke (const QPolygonF &points, const QVector< QPolygonF > *rings, QgsSymbolRenderContext &context)
 Renders the line symbol layer along the outline of polygon, using the given render context. More...
 
RenderRingFilter ringFilter () const
 Returns the line symbol layer's ring filter, which controls which rings are rendered when the line symbol is being used to draw a polygon's rings. More...
 
void setMapUnitScale (const QgsMapUnitScale &scale) override
 
void setOffset (double offset)
 Sets the line's offset. More...
 
void setOffsetMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the line's offset. More...
 
void setOffsetUnit (QgsUnitTypes::RenderUnit unit)
 Sets the unit for the line's offset. More...
 
void setOutputUnit (QgsUnitTypes::RenderUnit unit) override
 Sets the units to use for sizes and widths within the symbol layer. More...
 
void setRingFilter (QgsLineSymbolLayer::RenderRingFilter filter)
 Sets the line symbol layer's ring filter, which controls which rings are rendered when the line symbol is being used to draw a polygon's rings. More...
 
virtual void setWidth (double width)
 Sets the width of the line symbol layer. More...
 
void setWidthMapUnitScale (const QgsMapUnitScale &scale)
 
void setWidthUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the line's width. More...
 
virtual double width () const
 Returns the estimated width for the line symbol layer. More...
 
virtual double width (const QgsRenderContext &context) const
 Returns the line symbol layer width, in painter units. More...
 
const QgsMapUnitScalewidthMapUnitScale () const
 
QgsUnitTypes::RenderUnit widthUnit () const
 Returns the units for the line's width. More...
 
- Public Member Functions inherited from QgsSymbolLayer
 QgsSymbolLayer (const QgsSymbolLayer &other)=delete
 QgsSymbolLayer cannot be copied. More...
 
virtual ~QgsSymbolLayer ()
 
virtual QColor color () const
 The fill color. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the symbol layer's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the symbol layer's property collection, used for data defined overrides. More...
 
virtual double dxfAngle (QgsSymbolRenderContext &context) const
 Gets angle. More...
 
virtual QColor dxfBrushColor (QgsSymbolRenderContext &context) const
 Gets brush/fill color. More...
 
virtual Qt::BrushStyle dxfBrushStyle () const
 Gets brush/fill style. More...
 
virtual QColor dxfColor (QgsSymbolRenderContext &context) const
 Gets color. More...
 
virtual QVector< qreal > dxfCustomDashPattern (QgsUnitTypes::RenderUnit &unit) const
 Gets dash pattern. More...
 
virtual double dxfOffset (const QgsDxfExport &e, QgsSymbolRenderContext &context) const
 Gets offset. More...
 
virtual Qt::PenStyle dxfPenStyle () const
 Gets pen style. More...
 
bool enabled () const
 Returns true if symbol layer is enabled and will be drawn. More...
 
virtual double estimateMaxBleed (const QgsRenderContext &context) const
 Returns the estimated maximum distance which the layer style will bleed outside the drawn shape when drawn in the specified /a context. More...
 
virtual QColor fillColor () const
 Gets fill color. More...
 
virtual bool hasDataDefinedProperties () const
 Returns true if the symbol layer (or any of its sub-symbols) contains data defined properties. More...
 
bool isLocked () const
 Returns true if the symbol layer colors are locked and the layer will ignore any symbol-level color changes. More...
 
virtual QList< QgsSymbolLayerReferencemasks () const
 Returns masks defined by this symbol layer. More...
 
virtual QString ogrFeatureStyle (double mmScaleFactor, double mapUnitScaleFactor) const
 
QgsSymbolLayeroperator= (const QgsSymbolLayer &other)=delete
 QgsSymbolLayer cannot be copied. More...
 
QgsPaintEffectpaintEffect () const
 Returns the current paint effect for the layer. More...
 
virtual void prepareExpressions (const QgsSymbolRenderContext &context)
 Prepares all data defined property expressions for evaluation. More...
 
int renderingPass () const
 Specifies the rendering pass in which this symbol layer should be rendered. More...
 
virtual void setColor (const QColor &color)
 The fill color. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the symbol layer's property collection, used for data defined overrides. More...
 
virtual void setDataDefinedProperty (Property key, const QgsProperty &property)
 Sets a data defined property for the layer. More...
 
void setEnabled (bool enabled)
 Sets whether symbol layer is enabled and should be drawn. More...
 
virtual void setFillColor (const QColor &color)
 Set fill color. More...
 
void setLocked (bool locked)
 Sets whether the layer's colors are locked. More...
 
void setPaintEffect (QgsPaintEffect *effect)
 Sets the current paint effect for the layer. More...
 
void setRenderingPass (int renderingPass)
 Specifies the rendering pass in which this symbol layer should be rendered. More...
 
virtual void setStrokeColor (const QColor &color)
 Set stroke color. More...
 
virtual bool setSubSymbol (QgsSymbol *symbol)
 Sets layer's subsymbol. takes ownership of the passed symbol. More...
 
virtual QColor strokeColor () const
 Gets stroke color. More...
 
virtual QgsSymbolsubSymbol ()
 Returns the symbol's sub symbol, if present. More...
 
virtual void toSld (QDomDocument &doc, QDomElement &element, const QVariantMap &props) const
 Saves the symbol layer as SLD. More...
 
Qgis::SymbolType type () const
 
virtual bool usesMapUnits () const
 Returns true if the symbol layer has any components which use map unit based sizes. More...
 
virtual bool writeDxf (QgsDxfExport &e, double mmMapUnitScaleFactor, const QString &layerName, QgsSymbolRenderContext &context, QPointF shift=QPointF(0.0, 0.0)) const
 write as DXF More...
 

Static Public Member Functions

static QgsSymbolLayercreate (const QVariantMap &properties)
 Creates the symbol layer. More...
 
- Static Public Member Functions inherited from QgsSymbolLayer
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the symbol layer property definitions. More...
 

Additional Inherited Members

- Public Types inherited from QgsLineSymbolLayer
enum  RenderRingFilter { AllRings , ExteriorRingOnly , InteriorRingsOnly }
 Options for filtering rings when the line symbol layer is being used to render a polygon's rings. More...
 
- Public Types inherited from QgsSymbolLayer
enum  Property {
  PropertySize = 0 , PropertyAngle , PropertyName , PropertyFillColor ,
  PropertyStrokeColor , PropertyStrokeWidth , PropertyStrokeStyle , PropertyOffset ,
  PropertyCharacter , PropertyWidth , PropertyHeight , PropertyPreserveAspectRatio ,
  PropertyFillStyle , PropertyJoinStyle , PropertySecondaryColor , PropertyLineAngle ,
  PropertyLineDistance , PropertyGradientType , PropertyCoordinateMode , PropertyGradientSpread ,
  PropertyGradientReference1X , PropertyGradientReference1Y , PropertyGradientReference2X , PropertyGradientReference2Y ,
  PropertyGradientReference1IsCentroid , PropertyGradientReference2IsCentroid , PropertyBlurRadius , PropertyShapeburstUseWholeShape ,
  PropertyShapeburstMaxDistance , PropertyShapeburstIgnoreRings , PropertyFile , PropertyDistanceX ,
  PropertyDistanceY , PropertyDisplacementX , PropertyDisplacementY , PropertyOpacity ,
  PropertyCustomDash , PropertyCapStyle , PropertyPlacement , PropertyInterval ,
  PropertyOffsetAlongLine , PropertyAverageAngleLength , PropertyHorizontalAnchor , PropertyVerticalAnchor ,
  PropertyLayerEnabled , PropertyArrowWidth , PropertyArrowStartWidth , PropertyArrowHeadLength ,
  PropertyArrowHeadThickness , PropertyArrowHeadType , PropertyArrowType , PropertyOffsetX ,
  PropertyOffsetY , PropertyPointCount , PropertyRandomSeed , PropertyClipPoints ,
  PropertyDensityArea , PropertyFontFamily , PropertyFontStyle , PropertyDashPatternOffset ,
  PropertyTrimStart , PropertyTrimEnd
}
 Data definable properties. More...
 
- Protected Member Functions inherited from QgsLineSymbolLayer
 QgsLineSymbolLayer (bool locked=false)
 
- Protected Member Functions inherited from QgsSymbolLayer
 QgsSymbolLayer (Qgis::SymbolType type, bool locked=false)
 Constructor for QgsSymbolLayer. More...
 
void copyDataDefinedProperties (QgsSymbolLayer *destLayer) const
 Copies all data defined properties of this layer to another symbol layer. More...
 
void copyPaintEffect (QgsSymbolLayer *destLayer) const
 Copies paint effect of this layer to another symbol layer. More...
 
void restoreOldDataDefinedProperties (const QVariantMap &stringMap)
 Restores older data defined properties from string map. More...
 
- Protected Attributes inherited from QgsLineSymbolLayer
double mOffset = 0
 
QgsMapUnitScale mOffsetMapUnitScale
 
QgsUnitTypes::RenderUnit mOffsetUnit = QgsUnitTypes::RenderMillimeters
 
RenderRingFilter mRingFilter = AllRings
 
double mWidth = 0
 
QgsMapUnitScale mWidthMapUnitScale
 
QgsUnitTypes::RenderUnit mWidthUnit = QgsUnitTypes::RenderMillimeters
 
- Protected Attributes inherited from QgsSymbolLayer
QColor mColor
 
QgsPropertyCollection mDataDefinedProperties
 
bool mEnabled = true
 True if layer is enabled and should be drawn. More...
 
QgsFields mFields
 
bool mLocked = false
 
std::unique_ptr< QgsPaintEffectmPaintEffect
 
int mRenderingPass = 0
 
Qgis::SymbolType mType
 
- Static Protected Attributes inherited from QgsSymbolLayer
static const bool SELECT_FILL_BORDER = false
 Whether fill styles for selected features also highlight symbol stroke. More...
 
static const bool SELECT_FILL_STYLE = false
 Whether fill styles for selected features uses symbol layer style. More...
 
static const bool SELECTION_IS_OPAQUE = true
 Whether styles for selected features ignore symbol alpha. More...
 

Detailed Description

A symbol layer that represents vector layer line feature as interpolated line The interpolation is done between two values defined at the extremities.

Since
QGIS 3.20

Definition at line 276 of file qgsinterpolatedlinerenderer.h.

Constructor & Destructor Documentation

◆ QgsInterpolatedLineSymbolLayer()

QgsInterpolatedLineSymbolLayer::QgsInterpolatedLineSymbolLayer ( )

Constructor.

Definition at line 1121 of file qgsinterpolatedlinerenderer.cpp.

Member Function Documentation

◆ canCauseArtifactsBetweenAdjacentTiles()

bool QgsInterpolatedLineSymbolLayer::canCauseArtifactsBetweenAdjacentTiles ( ) const
overridevirtual

Returns true if the symbol layer rendering can cause visible artifacts across a single feature when the feature is rendered as a series of adjacent map tiles each containing a portion of the feature's geometry.

The default implementation returns false.

Since
QGIS 3.18

Reimplemented from QgsSymbolLayer.

Definition at line 1315 of file qgsinterpolatedlinerenderer.cpp.

◆ clone()

QgsInterpolatedLineSymbolLayer * QgsInterpolatedLineSymbolLayer::clone ( ) const
overridevirtual

Shall be reimplemented by subclasses to create a deep copy of the instance.

Implements QgsSymbolLayer.

Definition at line 853 of file qgsinterpolatedlinerenderer.cpp.

◆ create()

QgsSymbolLayer * QgsInterpolatedLineSymbolLayer::create ( const QVariantMap &  properties)
static

Creates the symbol layer.

Definition at line 861 of file qgsinterpolatedlinerenderer.cpp.

◆ drawPreviewIcon()

void QgsInterpolatedLineSymbolLayer::drawPreviewIcon ( QgsSymbolRenderContext context,
QSize  size 
)
overridevirtual

Implements QgsSymbolLayer.

Definition at line 934 of file qgsinterpolatedlinerenderer.cpp.

◆ endValueExpressionForColor()

QString QgsInterpolatedLineSymbolLayer::endValueExpressionForColor ( ) const

Returns the expression related to the end extremity value for width for color.

Definition at line 1014 of file qgsinterpolatedlinerenderer.cpp.

◆ endValueExpressionForWidth()

QString QgsInterpolatedLineSymbolLayer::endValueExpressionForWidth ( ) const

Returns the expression related to the end extremity value for width.

Definition at line 984 of file qgsinterpolatedlinerenderer.cpp.

◆ interpolatedColor()

QgsInterpolatedLineColor QgsInterpolatedLineSymbolLayer::interpolatedColor ( ) const

Returns the interpolated color used to render the colors of lines, see QgsInterpolatedLineColor.

Definition at line 1024 of file qgsinterpolatedlinerenderer.cpp.

◆ interpolatedWidth()

QgsInterpolatedLineWidth QgsInterpolatedLineSymbolLayer::interpolatedWidth ( ) const

Returns the interpolated width used to render the width of lines, see QgsInterpolatedLineWidth.

Definition at line 1001 of file qgsinterpolatedlinerenderer.cpp.

◆ isCompatibleWithSymbol()

bool QgsInterpolatedLineSymbolLayer::isCompatibleWithSymbol ( QgsSymbol symbol) const
overridevirtual

Returns if the layer can be used below the specified symbol.

Reimplemented from QgsSymbolLayer.

Definition at line 1278 of file qgsinterpolatedlinerenderer.cpp.

◆ layerType()

QString QgsInterpolatedLineSymbolLayer::layerType ( ) const
overridevirtual

Returns a string that represents this layer type.

Used for serialization. Should match with the string used to register this symbol layer in the registry.

Implements QgsSymbolLayer.

Definition at line 810 of file qgsinterpolatedlinerenderer.cpp.

◆ properties()

QVariantMap QgsInterpolatedLineSymbolLayer::properties ( ) const
overridevirtual

Should be reimplemented by subclasses to return a string map that contains the configuration information for the symbol layer.

This is used to serialize a symbol layer perstistently.

Implements QgsSymbolLayer.

Definition at line 906 of file qgsinterpolatedlinerenderer.cpp.

◆ renderPolyline()

void QgsInterpolatedLineSymbolLayer::renderPolyline ( const QPolygonF &  points,
QgsSymbolRenderContext context 
)
overridevirtual

Renders the line symbol layer along the line joining points, using the given render context.

See also
renderPolygonStroke()

Implements QgsLineSymbolLayer.

Definition at line 1134 of file qgsinterpolatedlinerenderer.cpp.

◆ setExpressionsStringForColor()

void QgsInterpolatedLineSymbolLayer::setExpressionsStringForColor ( QString  start,
QString  end 
)

Sets the expressions (as string) that define the extremety values af the line feature for color.

Definition at line 1003 of file qgsinterpolatedlinerenderer.cpp.

◆ setExpressionsStringForWidth()

void QgsInterpolatedLineSymbolLayer::setExpressionsStringForWidth ( QString  start,
QString  end 
)

Sets the expressions (as string) that define the extremety values af the line feature for width.

Definition at line 973 of file qgsinterpolatedlinerenderer.cpp.

◆ setInterpolatedColor()

void QgsInterpolatedLineSymbolLayer::setInterpolatedColor ( const QgsInterpolatedLineColor interpolatedLineColor)

Sets the interpolated color used to render the colors of lines, see QgsInterpolatedLineColor.

Definition at line 1019 of file qgsinterpolatedlinerenderer.cpp.

◆ setInterpolatedWidth()

void QgsInterpolatedLineSymbolLayer::setInterpolatedWidth ( const QgsInterpolatedLineWidth interpolatedLineWidth)

Sets the interpolated width used to render the width of lines, see QgsInterpolatedLineWidth.

Definition at line 996 of file qgsinterpolatedlinerenderer.cpp.

◆ setWidthUnit()

void QgsInterpolatedLineSymbolLayer::setWidthUnit ( const QgsUnitTypes::RenderUnit strokeWidthUnit)

Sets the width unit.

Definition at line 989 of file qgsinterpolatedlinerenderer.cpp.

◆ startFeatureRender()

void QgsInterpolatedLineSymbolLayer::startFeatureRender ( const QgsFeature feature,
QgsRenderContext context 
)
overridevirtual

Called before the layer will be rendered for a particular feature.

This is always followed by a call to stopFeatureRender() after the feature has been completely rendered (i.e. all parts have been rendered).

The default implementation does nothing.

Note
In some circumstances, startFeatureRender() and stopFeatureRender() may not be called before a symbol layer is rendered. E.g., when a symbol layer is being rendered in isolation and not as a result of rendering a feature (for instance, when rendering a legend patch or other non-feature based shape).
See also
stopFeatureRender()
startRender()
Since
QGIS 3.12

Reimplemented from QgsSymbolLayer.

Definition at line 1124 of file qgsinterpolatedlinerenderer.cpp.

◆ startRender()

void QgsInterpolatedLineSymbolLayer::startRender ( QgsSymbolRenderContext context)
overridevirtual

Called before a set of rendering operations commences on the supplied render context.

This is always followed by a call to stopRender() after all rendering operations have been completed.

Subclasses can use this method to prepare for a set of rendering operations, e.g. by pre-evaluating paths or images to render, and performing other one-time optimisations.

See also
startFeatureRender()
stopRender()

Implements QgsSymbolLayer.

Definition at line 812 of file qgsinterpolatedlinerenderer.cpp.

◆ startValueExpressionForColor()

QString QgsInterpolatedLineSymbolLayer::startValueExpressionForColor ( ) const

Returns the epression related to the start extremity value for width for color.

Definition at line 1009 of file qgsinterpolatedlinerenderer.cpp.

◆ startValueExpressionForWidth()

QString QgsInterpolatedLineSymbolLayer::startValueExpressionForWidth ( ) const

Returns the epression related to the start extremity value for width.

Definition at line 979 of file qgsinterpolatedlinerenderer.cpp.

◆ stopFeatureRender()

void QgsInterpolatedLineSymbolLayer::stopFeatureRender ( const QgsFeature feature,
QgsRenderContext context 
)
overridevirtual

Called after the layer has been rendered for a particular feature.

This is always preceded by a call to startFeatureRender() just before the feature will be rendered.

The default implementation does nothing.

Note
In some circumstances, startFeatureRender() and stopFeatureRender() may not be called before a symbol layer is rendered. E.g., when a symbol layer is being rendered in isolation and not as a result of rendering a feature (for instance, when rendering a legend patch or other non-feature based shape).
See also
startFeatureRender()
stopRender()
Since
QGIS 3.12

Reimplemented from QgsSymbolLayer.

Definition at line 1129 of file qgsinterpolatedlinerenderer.cpp.

◆ stopRender()

void QgsInterpolatedLineSymbolLayer::stopRender ( QgsSymbolRenderContext context)
overridevirtual

Called after a set of rendering operations has finished on the supplied render context.

This is always preceded by a call to startRender() before all rendering operations are commenced.

Subclasses can use this method to cleanup after a set of rendering operations.

See also
startRender()
stopFeatureRender()

Implements QgsSymbolLayer.

Definition at line 845 of file qgsinterpolatedlinerenderer.cpp.

◆ usedAttributes()

QSet< QString > QgsInterpolatedLineSymbolLayer::usedAttributes ( const QgsRenderContext context) const
overridevirtual

Returns the set of attributes referenced by the layer.

This includes attributes required by any data defined properties associated with the layer.

Reimplemented from QgsSymbolLayer.

Definition at line 1283 of file qgsinterpolatedlinerenderer.cpp.

◆ widthUnit()

QgsUnitTypes::RenderUnit QgsInterpolatedLineSymbolLayer::widthUnit ( ) const

Returns the width unit.

Definition at line 994 of file qgsinterpolatedlinerenderer.cpp.


The documentation for this class was generated from the following files: