36#ifndef OPENSWMM_RENDER_GRADUATEDRASTERRENDERER_H
37#define OPENSWMM_RENDER_GRADUATEDRASTERRENDERER_H
75 [[nodiscard]]
double dataMin()
const {
return m_dataMin; }
76 [[nodiscard]]
double dataMax()
const {
return m_dataMax; }
82 [[nodiscard]] QPair<double, double>
effectiveRange()
const {
return { m_lo, m_hi }; }
91 void reclassify(
const QVector<double> &samples = {});
95 [[nodiscard]]
const QVector<double> &
edges()
const {
return m_edges; }
96 [[nodiscard]]
int classCount()
const {
return std::max(0,
int(m_edges.size()) - 1); }
104 return QStringLiteral(
"graduatedraster");
107 bool isNoData =
false)
const override;
109 [[nodiscard]] QJsonObject
toJson()
const override;
110 void fromJson(
const QJsonObject &j)
override;
111 [[nodiscard]] std::unique_ptr<IRasterRenderer>
clone()
const override;
119 double m_dataMin = 0.0;
120 double m_dataMax = 1.0;
121 QVector<double> m_edges;
122 bool m_clipOutOfRange =
false;
127 std::array<QRgb, ScalarRampLut::kSize> m_lut{};
128 QVector<QRgb> m_classColors;
Shared classification model: mode + binner + ramp + range + per-class overrides, with a revision stam...
Definition classificationscheme.h:61
ClassificationScheme-driven single-band raster colouring.
Definition graduatedrasterrenderer.h:59
GraduatedRasterRenderer()
Definition graduatedrasterrenderer.cpp:62
void setClipOutOfRange(bool on)
Definition graduatedrasterrenderer.cpp:82
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 graduatedrasterrenderer.cpp:207
double dataMax() const
Definition graduatedrasterrenderer.h:76
void fromJson(const QJsonObject &j) override
Restores this renderer from a JSON object previously produced by toJson(). Implementations should tol...
Definition graduatedrasterrenderer.cpp:182
const ClassificationScheme & scheme() const
Definition graduatedrasterrenderer.h:67
void setScheme(const ClassificationScheme &scheme)
Definition graduatedrasterrenderer.cpp:69
QColor colorForValue(double value, bool isNoData=false) const override
Returns the display colour for one raw pixel value.
Definition graduatedrasterrenderer.cpp:114
QJsonObject toJson() const override
Serialises this renderer to a JSON object. The "id" field equals rendererId(); remaining keys are ren...
Definition graduatedrasterrenderer.cpp:170
QString rendererId() const override
Stable string id ("singlebandpseudocolor", "singlebandgray", "paletted", "hillshade",...
Definition graduatedrasterrenderer.h:102
static constexpr int kContinuousLegendRows
Definition graduatedrasterrenderer.h:99
void setDataRange(double dataMin, double dataMax)
Definition graduatedrasterrenderer.cpp:75
bool clipOutOfRange() const
Definition graduatedrasterrenderer.h:85
~GraduatedRasterRenderer() override=default
QPair< double, double > effectiveRange() const
Definition graduatedrasterrenderer.h:82
double dataMin() const
Definition graduatedrasterrenderer.h:75
int classCount() const
Definition graduatedrasterrenderer.h:96
void reclassify(const QVector< double > &samples={})
Definition graduatedrasterrenderer.cpp:87
QList< LegendSymbolItem > legendSymbolItems() const override
Returns one LegendSymbolItem per visible legend row. Drives the legend dock, the on-canvas legend ove...
Definition graduatedrasterrenderer.cpp:129
const QVector< double > & edges() const
Definition graduatedrasterrenderer.h:95
Abstract interface — every raster layer's paint path goes here.
Definition irasterrenderer.h:66
Slice US.1 (UNIFIED_STYLING_AND_UI_CONSISTENCY_PLAN.md S1) — the shared classification value type emb...
Sister interface to IFeatureRenderer for single-band raster layers.
Definition gisrasterlayer.h:40