19#ifndef QGSRASTERLAYERELEVATIONPROPERTIES_H
20#define QGSRASTERLAYERELEVATIONPROPERTIES_H
53 QString htmlSummary() const override;
56 QList<
double > significantZValues(
QgsMapLayer *layer ) const override;
57 bool showByDefaultInElevationProfilePlots() const override;
65 bool isEnabled()
const {
return mEnabled; }
72 void setEnabled(
bool enabled );
106 void setBandNumber(
int band );
142 QMap<int, QgsDoubleRange> fixedRangePerBand()
const;
154 void setFixedRangePerBand(
const QMap<int, QgsDoubleRange> &ranges );
231 double elevationLimit()
const;
243 void setElevationLimit(
double limit );
264 void setDefaultProfileLineSymbol(
const QColor &color );
265 void setDefaultProfileFillSymbol(
const QColor &color );
267 bool mEnabled =
false;
271 std::unique_ptr< QgsLineSymbol > mProfileLineSymbol;
272 std::unique_ptr< QgsFillSymbol > mProfileFillSymbol;
274 double mElevationLimit = std::numeric_limits< double >::quiet_NaN();
278 QMap< int, QgsDoubleRange > mRangePerBand;
RasterElevationMode
Raster layer elevation modes.
@ RepresentsElevationSurface
Pixel values represent an elevation surface.
ProfileSurfaceSymbology
Surface symbology type for elevation profile plots.
@ Line
The elevation surface will be rendered using a line symbol.
QgsRange which stores a range of double values.
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
A line symbol type, for rendering LineString and MultiLineString geometries.
Base class for storage of map layer elevation properties.
virtual QgsMapLayerElevationProperties * clone() const =0
Creates a clone of the properties.
virtual QDomElement writeXml(QDomElement &element, QDomDocument &doc, const QgsReadWriteContext &context)=0
Writes the properties to a DOM element, to be used later with readXml().
virtual bool readXml(const QDomElement &element, const QgsReadWriteContext &context)=0
Reads the elevation properties from a DOM element previously written by writeXml().
virtual bool hasElevation() const
Returns true if the layer has an elevation or z component.
Base class for all map layer types.
Raster layer specific subclass of QgsMapLayerElevationProperties.
~QgsRasterLayerElevationProperties() override
Qgis::ProfileSurfaceSymbology profileSymbology() const
Returns the symbology option used to render the raster profile in elevation profile plots.
int bandNumber() const
Returns the band number from which the elevation should be taken.
Represents a raster layer.
The class is used as a container of context for various read/write operations on other objects.