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
openswmmvis::ui::SublayerSchemeBinding Class Referencefinal

Drives a ClassificationScheme stored by value on a style bag. More...

#include <classificationbindings.h>

Inheritance diagram for openswmmvis::ui::SublayerSchemeBinding:
Collaboration diagram for openswmmvis::ui::SublayerSchemeBinding:

Public Types

using Getter = std::function< OpenSWMM::Render::ClassificationScheme()>
 
using Setter = std::function< void(const OpenSWMM::Render::ClassificationScheme &)>
 
using SampleProvider = std::function< QVector< double >()>
 
using RangeProvider = std::function< QPair< double, double >()>
 

Public Member Functions

 SublayerSchemeBinding (Getter getter, Setter setter, SampleProvider sampleProvider, RangeProvider rangeProvider, bool supportsContinuousMode, bool supportsRangeModes)
 
OpenSWMM::Render::ClassificationScheme scheme () const override
 
void setScheme (const OpenSWMM::Render::ClassificationScheme &s) override
 
QVector< doublesampleValues () const override
 
QPair< double, doubledataRange () const override
 
bool supportsContinuousMode () const override
 
bool supportsRangeModes () const override
 
bool supportsCustomRange () const override
 
- Public Member Functions inherited from openswmmvis::ui::IClassificationBinding
virtual ~IClassificationBinding ()=default
 
virtual void autoClassify ()
 
virtual QVector< doublecomputedEdges () const
 
virtual QVector< QPair< QString, QString > > availableAttributes () const
 
virtual QString attribute () const
 
virtual void setAttribute (const QString &)
 

Detailed Description

Drives a ClassificationScheme stored by value on a style bag.

   Pure std::function adapter — the bag supplies a getter, a setter
   (which must call its setDirty()/styleChanged so the renderer +
   legend refresh), a sample provider, and a data-range provider.

Member Typedef Documentation

◆ Getter

◆ RangeProvider

◆ SampleProvider

◆ Setter

Constructor & Destructor Documentation

◆ SublayerSchemeBinding()

openswmmvis::ui::SublayerSchemeBinding::SublayerSchemeBinding ( Getter  getter,
Setter  setter,
SampleProvider  sampleProvider,
RangeProvider  rangeProvider,
bool  supportsContinuousMode,
bool  supportsRangeModes 
)

Member Function Documentation

◆ dataRange()

QPair< double, double > openswmmvis::ui::SublayerSchemeBinding::dataRange ( ) const
inlineoverridevirtual

Outer data range the scheme classifies over (e.g. [dryDepth, maxDepth] or a field's min/max).

Implements openswmmvis::ui::IClassificationBinding.

◆ sampleValues()

QVector< double > openswmmvis::ui::SublayerSchemeBinding::sampleValues ( ) const
inlineoverridevirtual

Values feeding Quantile / Jenks / StdDev auto-classification. Large sources should decimate. Empty is legal (the editor degrades to equal spacing).

Implements openswmmvis::ui::IClassificationBinding.

◆ scheme()

OpenSWMM::Render::ClassificationScheme openswmmvis::ui::SublayerSchemeBinding::scheme ( ) const
inlineoverridevirtual

◆ setScheme()

void openswmmvis::ui::SublayerSchemeBinding::setScheme ( const OpenSWMM::Render::ClassificationScheme )
inlineoverridevirtual

MUST route through the model's normal change channel (renderer install / bag setter) so every view repaints.

Implements openswmmvis::ui::IClassificationBinding.

◆ supportsContinuousMode()

bool openswmmvis::ui::SublayerSchemeBinding::supportsContinuousMode ( ) const
inlineoverridevirtual

Continuous/Classified toggle is offered only when true. 1D graduated symbols are always classified → false; depth fill → true.

Reimplemented from openswmmvis::ui::IClassificationBinding.

◆ supportsCustomRange()

bool openswmmvis::ui::SublayerSchemeBinding::supportsCustomRange ( ) const
inlineoverridevirtual

"Use custom range" checkbox + min/max is offered only when true — the static / 2D idiom (no animation range modes). Mutually exclusive with supportsRangeModes() in the editor (range modes win).

Reimplemented from openswmmvis::ui::IClassificationBinding.

◆ supportsRangeModes()

bool openswmmvis::ui::SublayerSchemeBinding::supportsRangeModes ( ) const
inlineoverridevirtual

Animation range-mode row (Fixed over run / Per-frame / Fixed user) is offered only when true — the 1D-results idiom, where FixedUser reveals the min/max sub-row.

Reimplemented from openswmmvis::ui::IClassificationBinding.


The documentation for this class was generated from the following files: