27#ifndef OPENSWMMVIS_UI_DIALOGS_EDITORS_CLASSIFICATIONBINDINGS_H
28#define OPENSWMMVIS_UI_DIALOGS_EDITORS_CLASSIFICATIONBINDINGS_H
43class GraduatedRasterRenderer;
44class GraduatedRenderer;
45class IFeatureRenderer;
79 [[nodiscard]]
virtual QPair<double, double>
dataRange()
const = 0;
87 [[nodiscard]]
virtual QVector<double>
computedEdges()
const {
return {}; }
107 [[nodiscard]]
virtual QString
attribute()
const {
return {}; }
128 using RendererInstaller = std::function<void(std::unique_ptr<OpenSWMM::Render::IFeatureRenderer>)>;
149 QPair<double, double>
dataRange()
const override;
192 QVector<double>
sampleValues()
const override {
return m_samples ? m_samples() : QVector<double>{}; }
193 QPair<double, double>
dataRange()
const override {
return m_range ? m_range() : QPair<double, double>{ 0.0, 1.0 }; }
204 bool m_supportsContinuous =
false;
205 bool m_supportsRangeModes =
false;
233 QPair<double, double>
dataRange()
const override;
A map layer backed by a GDAL raster dataset.
Definition gisrasterlayer.h:61
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
Classifies a numeric attribute into bins and assigns a colour per bin.
Definition graduatedrenderer.h:63
Slice US.1 (UNIFIED_STYLING_AND_UI_CONSISTENCY_PLAN.md S1) — the shared classification value type emb...
Bridges the editor's ClassificationScheme onto a 1D per-kind GraduatedRenderer without changing the r...
Definition classificationbindings.h:125
QString attribute() const override
Definition classificationbindings.cpp:234
QVector< double > sampleValues() const override
Definition classificationbindings.h:147
bool supportsRangeModes() const override
Definition classificationbindings.h:153
bool supportsContinuousMode() const override
Definition classificationbindings.h:152
void setScheme(const OpenSWMM::Render::ClassificationScheme &s) override
Definition classificationbindings.cpp:118
std::function< void(std::unique_ptr< OpenSWMM::Render::IFeatureRenderer >)> RendererInstaller
Definition classificationbindings.h:128
QPair< double, double > dataRange() const override
Definition classificationbindings.cpp:187
QVector< QPair< QString, QString > > availableAttributes() const override
Definition classificationbindings.cpp:229
void resync()
Definition classificationbindings.cpp:113
std::function< OpenSWMM::Render::GraduatedRenderer *()> RendererGetter
Definition classificationbindings.h:127
void setAttribute(const QString &name) override
Definition classificationbindings.cpp:240
bool supportsCustomRange() const override
Definition classificationbindings.h:154
void autoClassify() override
Definition classificationbindings.cpp:195
OpenSWMM::Render::ClassificationScheme scheme() const override
Definition classificationbindings.h:145
std::function< bool()> RangeModeGate
Definition classificationbindings.h:133
std::function< QVector< QPair< QString, QString > >()> AttributeList
Definition classificationbindings.h:129
QVector< double > computedEdges() const override
Definition classificationbindings.cpp:211
What ClassificationEditor talks to instead of a concrete model.
Definition classificationbindings.h:55
virtual bool supportsCustomRange() const
Definition classificationbindings.h:102
virtual void autoClassify()
Definition classificationbindings.h:75
virtual bool supportsRangeModes() const
Definition classificationbindings.h:97
virtual QVector< double > computedEdges() const
Definition classificationbindings.h:87
virtual void setScheme(const OpenSWMM::Render::ClassificationScheme &)=0
virtual bool supportsContinuousMode() const
Definition classificationbindings.h:92
virtual ~IClassificationBinding()=default
virtual QVector< double > sampleValues() const =0
virtual QString attribute() const
Definition classificationbindings.h:107
virtual void setAttribute(const QString &)
Definition classificationbindings.h:108
virtual OpenSWMM::Render::ClassificationScheme scheme() const =0
virtual QVector< QPair< QString, QString > > availableAttributes() const
Definition classificationbindings.h:106
virtual QPair< double, double > dataRange() const =0
Drives the GraduatedRasterRenderer live on a GISRasterLayer.
Definition classificationbindings.h:225
QVector< double > computedEdges() const override
Definition classificationbindings.cpp:321
RasterSchemeBinding(GISRasterLayer *layer)
Definition classificationbindings.h:227
bool supportsRangeModes() const override
Definition classificationbindings.h:237
bool supportsContinuousMode() const override
Definition classificationbindings.h:236
void setScheme(const OpenSWMM::Render::ClassificationScheme &s) override
Definition classificationbindings.cpp:285
bool supportsCustomRange() const override
Definition classificationbindings.h:238
void autoClassify() override
Definition classificationbindings.cpp:300
QVector< double > sampleValues() const override
Definition classificationbindings.cpp:295
OpenSWMM::Render::ClassificationScheme scheme() const override
Definition classificationbindings.cpp:279
QPair< double, double > dataRange() const override
Definition classificationbindings.cpp:315
Drives a ClassificationScheme stored by value on a style bag.
Definition classificationbindings.h:179
QVector< double > sampleValues() const override
Definition classificationbindings.h:192
QPair< double, double > dataRange() const override
Definition classificationbindings.h:193
std::function< QPair< double, double >()> RangeProvider
Definition classificationbindings.h:184
void setScheme(const OpenSWMM::Render::ClassificationScheme &s) override
Definition classificationbindings.h:191
bool supportsCustomRange() const override
Definition classificationbindings.h:197
OpenSWMM::Render::ClassificationScheme scheme() const override
Definition classificationbindings.h:190
std::function< OpenSWMM::Render::ClassificationScheme()> Getter
Definition classificationbindings.h:181
bool supportsRangeModes() const override
Definition classificationbindings.h:196
std::function< void(const OpenSWMM::Render::ClassificationScheme &)> Setter
Definition classificationbindings.h:182
bool supportsContinuousMode() const override
Definition classificationbindings.h:195
std::function< QVector< double >()> SampleProvider
Definition classificationbindings.h:183
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
Definition gisrasterlayer.h:40
Definition openswmmvislayer.h:43
QString name
Definition sectionmodelbuilders.cpp:474