18#ifndef OPENSWMM_RENDER_PALETTEDRASTERRENDERER_H
19#define OPENSWMM_RENDER_PALETTEDRASTERRENDERER_H
49 [[nodiscard]]
const QList<Class> &
classes()
const {
return m_classes; }
55 [[nodiscard]] QString
paletteName()
const {
return m_paletteName; }
65 return QStringLiteral(
"palettedraster");
68 bool isNoData =
false)
const override;
70 [[nodiscard]] QJsonObject
toJson()
const override;
71 void fromJson(
const QJsonObject &j)
override;
72 [[nodiscard]] std::unique_ptr<IRasterRenderer>
clone()
const override;
75 [[nodiscard]] QColor paletteColor(
int index)
const;
78 QList<Class> m_classes;
79 QHash<int, int> m_valueToIndex;
80 QString m_paletteName = QStringLiteral(
"Tab10");
Abstract interface — every raster layer's paint path goes here.
Definition irasterrenderer.h:66
Discrete value → colour raster renderer (categorical rasters).
Definition palettedrasterrenderer.h:36
void setClasses(QList< Class > classes)
Definition palettedrasterrenderer.cpp:42
QString paletteName() const
Definition palettedrasterrenderer.h:55
void setPaletteName(QString name)
Definition palettedrasterrenderer.cpp:48
const QList< Class > & classes() const
Definition palettedrasterrenderer.h:49
QList< LegendSymbolItem > legendSymbolItems() const override
Returns one LegendSymbolItem per visible legend row. Drives the legend dock, the on-canvas legend ove...
Definition palettedrasterrenderer.cpp:98
PalettedRasterRenderer()=default
void buildClassesFromValues(const QList< int > &uniqueValues)
Definition palettedrasterrenderer.cpp:70
void fromJson(const QJsonObject &j) override
Restores this renderer from a JSON object previously produced by toJson(). Implementations should tol...
Definition palettedrasterrenderer.cpp:132
QColor colorForValue(double value, bool isNoData=false) const override
Returns the display colour for one raw pixel value.
Definition palettedrasterrenderer.cpp:85
QJsonObject toJson() const override
Serialises this renderer to a JSON object. The "id" field equals rendererId(); remaining keys are ren...
Definition palettedrasterrenderer.cpp:115
QString rendererId() const override
Stable string id ("singlebandpseudocolor", "singlebandgray", "paletted", "hillshade",...
Definition palettedrasterrenderer.h:63
std::unique_ptr< IRasterRenderer > clone() const override
Deep copy. Owning layers / map presets / undo stack call this when they need a renderer snapshot deco...
Definition palettedrasterrenderer.cpp:151
~PalettedRasterRenderer() override=default
Sister interface to IFeatureRenderer for single-band raster layers.
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition gisrasterlayer.h:40
QString name
Definition sectionmodelbuilders.cpp:474
Definition palettedrasterrenderer.h:40
QString label
Definition palettedrasterrenderer.h:42
int value
Definition palettedrasterrenderer.h:41
QColor color
Definition palettedrasterrenderer.h:43