23#ifndef OPENSWMM_RENDER_RULEBASEDRENDERER_H
24#define OPENSWMM_RENDER_RULEBASEDRENDERER_H
59 [[nodiscard]]
const QList<Rule> &
rules()
const {
return m_rules; }
70 [[nodiscard]] QString
rendererId()
const override {
return QStringLiteral(
"rule"); }
72 const QVariantMap &attrs)
const override;
74 [[nodiscard]] QJsonObject
toJson()
const override;
75 void fromJson(
const QJsonObject &j)
override;
76 [[nodiscard]] std::unique_ptr<IFeatureRenderer>
clone()
const override;
Abstract interface — every vector layer's paint path goes here.
Definition ifeaturerenderer.h:85
First-match expression-gated rule list.
Definition rulebasedrenderer.h:42
std::unique_ptr< IFeatureRenderer > clone() const override
Deep copy. Owning layers / map presets / undo stack call this when they need a renderer snapshot deco...
Definition rulebasedrenderer.cpp:117
QJsonObject toJson() const override
Serialises this renderer to a JSON object. The "id" field equals rendererId(); remaining keys are ren...
Definition rulebasedrenderer.cpp:66
void addRule(Rule r)
Definition rulebasedrenderer.cpp:24
void setFallbackSymbol(SymbolStyle s)
Definition rulebasedrenderer.h:67
const QList< Rule > & rules() const
Definition rulebasedrenderer.h:59
void fromJson(const QJsonObject &j) override
Restores this renderer from a JSON object previously produced by toJson(). Implementations should tol...
Definition rulebasedrenderer.cpp:94
const SymbolStyle & fallbackSymbol() const
Symbol returned when no rule matches.
Definition rulebasedrenderer.h:66
~RuleBasedRenderer() override=default
RuleBasedRenderer()=default
void setRules(QList< Rule > rules)
Definition rulebasedrenderer.cpp:19
SymbolStyle symbolFor(const FeatureRef &f, const QVariantMap &attrs) const override
Returns the SymbolStyle to paint for one feature.
Definition rulebasedrenderer.cpp:29
QString rendererId() const override
Stable string id ("single", "graduated", "categorized", "rule"). Used as the discriminator in JSON ro...
Definition rulebasedrenderer.h:70
QList< LegendSymbolItem > legendSymbolItems() const override
Returns one LegendSymbolItem per visible legend row. Drives the legend dock, the on-canvas legend ove...
Definition rulebasedrenderer.cpp:50
One layer-scope styled aspect — name + renderer + filter + scale.
Definition rule.h:51
The single seam every layer paint path goes through.
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:82
Definition gisrasterlayer.h:40
Identifies one feature in one layer for the renderer pipeline.
Definition featureref.h:35
One rule in the list.
Definition rulebasedrenderer.h:49
QString label
Definition rulebasedrenderer.h:51
QString expression
Definition rulebasedrenderer.h:50
SymbolStyle symbol
Definition rulebasedrenderer.h:52
QPair< double, double > scaleRange
Definition rulebasedrenderer.h:53
Stack of SymbolLayer paint passes (bottom-up) plus an overall opacity.
Definition symbolstyle.h:39