15#ifndef QGSLINEARREFERENCINGSYMBOLLAYER_H 
   16#define QGSLINEARREFERENCINGSYMBOLLAYER_H 
   49    QVariantMap properties() const override;
 
   50    QString layerType() const override;
 
   51    Qgis::SymbolLayerFlags flags() const override;
 
   95    double interval() const;
 
  104    void setInterval( 
double interval );
 
  116    double skipMultiplesOf() const;
 
  128    void setSkipMultiplesOf( 
double multiple );
 
  135    bool rotateLabels()
 const { 
return mRotateLabels; }
 
  201    bool showMarker() 
const;
 
  210    void setShowMarker( 
bool show );
 
  305    void renderPolylineInterval( 
const QgsLineString *line, 
QgsSymbolRenderContext &context, 
double skipMultiples, 
const QPointF &labelOffsetPainterUnits, 
double averageAngleLengthPainterUnits, 
bool showMarker );
 
  306    void renderPolylineVertex( 
const QgsLineString *line, 
QgsSymbolRenderContext &context, 
double skipMultiples, 
const QPointF &labelOffsetPainterUnits, 
double averageAngleLengthPainterUnits, 
bool showMarker );
 
  307    void renderGeometryPart( 
QgsSymbolRenderContext &context, 
const QgsAbstractGeometry *geometry, 
double labelOffsetPainterUnitsX, 
double labelOffsetPainterUnitsY, 
double skipMultiples, 
double averageAngleDistancePainterUnits, 
bool showMarker );
 
  308    void renderLineString( 
QgsSymbolRenderContext &context, 
const QgsLineString *line, 
double labelOffsetPainterUnitsX, 
double labelOffsetPainterUnitsY, 
double skipMultiples, 
double averageAngleDistancePainterUnits, 
bool showMarker );
 
  315    double mInterval = 1000;
 
  316    double mSkipMultiplesOf = 0;
 
  317    bool mRotateLabels = 
true;
 
  319    QPointF mLabelOffset{ 1, 0 };
 
  324    std::unique_ptr<QgsNumericFormat> mNumericFormat;
 
  326    bool mShowMarker = 
false;
 
  327    std::unique_ptr<QgsMarkerSymbol> mMarkerSymbol;
 
  329    double mAverageAngleLength = 4;
 
  333    QString mLabelProviderId;
 
 
Provides global constants and enumerations for use throughout the application.
 
LinearReferencingPlacement
Defines how/where the labels should be placed in a linear referencing symbol layer.
 
@ IntervalCartesian2D
Place labels at regular intervals, using Cartesian distance calculations on a 2D plane.
 
LinearReferencingLabelSource
Defines what quantity to use for the labels shown in a linear referencing symbol layer.
 
@ CartesianDistance2D
Distance along line, calculated using Cartesian calculations on a 2D plane.
 
RenderUnit
Rendering size units.
 
@ Millimeters
Millimeters.
 
Abstract base class for all geometries.
 
Line string geometry type, with support for z-dimension and m-values.
 
Abstract base class for line symbol layers.
 
double offset() const
Returns the line's offset.
 
Line symbol layer used for decorating according to linear referencing.
 
double averageAngleLength() const
Returns the length of line over which the line's direction is averaged when calculating individual la...
 
void setAverageAngleUnit(Qgis::RenderUnit unit)
Sets the unit for the length over which the line's direction is averaged when calculating individual ...
 
void setAverageAngleMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale for the length over which the line's direction is averaged when calculating i...
 
Qgis::RenderUnit labelOffsetUnit() const
Returns the unit used for the offset between the line and linear referencing labels.
 
void setLabelOffset(const QPointF &offset)
Sets the offset between the line and linear referencing labels.
 
QPointF labelOffset() const
Returns the offset between the line and linear referencing labels.
 
const QgsMapUnitScale & labelOffsetMapUnitScale() const
Returns the map unit scale used for calculating the offset between the line and linear referencing la...
 
~QgsLinearReferencingSymbolLayer() override
 
Qgis::RenderUnit averageAngleUnit() const
Returns the unit for the length over which the line's direction is averaged when calculating individu...
 
void setRotateLabels(bool rotate)
Sets whether the labels and symbols should be rotated to match their line segment orientation.
 
const QgsMapUnitScale & averageAngleMapUnitScale() const
Returns the map unit scale for the length over which the line's direction is averaged when calculatin...
 
void setLabelOffsetMapUnitScale(const QgsMapUnitScale &scale)
Sets the map unit scale used for calculating the offset between the line and linear referencing label...
 
void setLabelOffsetUnit(Qgis::RenderUnit unit)
Sets the unit used for the offset between the line and linear referencing labels.
 
void setAverageAngleLength(double length)
Sets the length of line over which the line's direction is averaged when calculating individual label...
 
Struct for storing maximum and minimum scales for measurements in map units.
 
Abstract base class for symbol layers.
 
Encapsulates the context in which a symbol is being rendered.
 
Abstract base class for all rendered symbols.
 
Container for all settings relating to text rendering.