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
attributesource.h File Reference

P2 — the static/dynamic styling spine. More...

#include <QString>
Include dependency graph for attributesource.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 

Enumerations

enum class  OpenSWMM::Render::AttributeSourceKind : int {
  OpenSWMM::Render::Static = 0 ,
  OpenSWMM::Render::Dynamic = 1
}
 
enum class  OpenSWMM::Render::RangeMode : int {
  OpenSWMM::Render::FixedOverRun = 0 ,
  OpenSWMM::Render::PerFrameAutoStretch = 1 ,
  OpenSWMM::Render::FixedUser = 2
}
 

Functions

QString OpenSWMM::Render::attributeSourceKindToString (AttributeSourceKind k)
 
AttributeSourceKind OpenSWMM::Render::attributeSourceKindFromString (const QString &s)
 
QString OpenSWMM::Render::rangeModeToString (RangeMode m)
 
RangeMode OpenSWMM::Render::rangeModeFromString (const QString &s)
 

Detailed Description

P2 — the static/dynamic styling spine.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later
    A renderer classifies on an attribute. That attribute is either a
    STATIC engine/GIS field (diameter, elevation, land-use…), classified
    once, or a DYNAMIC SWMM output variable (depth, flow, velocity…)
    sampled at the current animation timestep. RangeMode controls how the
    value range behaves over the time axis:
      - FixedOverRun        : range spans the whole run (default; stable
                              colours across frames — best for comparing
                              timesteps).
      - PerFrameAutoStretch : range is recomputed each frame from that
                              frame's values (best for seeing structure
                              when magnitudes change by orders).
      - FixedUser           : an explicit user-set min/max.

    These are renderer-scope styling knobs; the owning results layer
    consumes RangeMode on each tick to decide whether to re-bin /
    re-stretch the renderer, and maps the dynamic source name to its
    output variable.