SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
rendererfactory.h
Go to the documentation of this file.
1
23#ifndef OPENSWMM_RENDER_RENDERERFACTORY_H
24#define OPENSWMM_RENDER_RENDERERFACTORY_H
25
28#include "render/symbolstyle.h"
29
30#include <QString>
31#include <QVector>
32
33#include <memory>
34
35namespace OpenSWMM::Render
36{
37
38class IFeatureRenderer;
39
40namespace RendererFactory
41{
42
49
56 const SymbolStyle &style,
58
63[[nodiscard]] SymbolStyle baseSymbolOf(const IFeatureRenderer *renderer);
64
82[[nodiscard]] std::unique_ptr<IFeatureRenderer> makeRenderer(
83 const QString &rendererId,
85 const IFeatureRenderer *previous = nullptr,
86 const QVector<AttributeField> *fields = nullptr);
87
88} // namespace RendererFactory
89
90} // namespace OpenSWMM::Render
91
92#endif // OPENSWMM_RENDER_RENDERERFACTORY_H
Archetype
Definition featuresublayer.h:45
Abstract interface — every vector layer's paint path goes here.
Definition ifeaturerenderer.h:85
Granular per-Category sublayer that replaces the legacy NodeMarker / ConduitLine / ConduitArrow / Sub...
Layer-side seam for "what attributes can I theme by?" — Slice DM.1.
SymbolStyle baseSymbolOf(const IFeatureRenderer *renderer)
Definition rendererfactory.cpp:74
SymbolStyle defaultSymbolForArchetype(FeatureSublayer::Archetype archetype)
Definition rendererfactory.cpp:79
std::unique_ptr< IFeatureRenderer > makeRenderer(const QString &rendererId, FeatureSublayer::Archetype archetype, const IFeatureRenderer *previous=nullptr, const QVector< AttributeField > *fields=nullptr)
Create a renderer of rendererId with a seeded base symbol.
Definition rendererfactory.cpp:117
FeatureSublayer::Archetype archetypeFromSymbol(const SymbolStyle &style, FeatureSublayer::Archetype fallback=FeatureSublayer::Archetype::Point)
Definition rendererfactory.cpp:96
Definition gisrasterlayer.h:40
Stack of SymbolLayer paint passes (bottom-up) plus an overall opacity.
Definition symbolstyle.h:39
A stack of SymbolLayer paint passes plus a layer-level opacity.