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::IClassificationBinding Class Referenceabstract

What ClassificationEditor talks to instead of a concrete model. More...

#include <classificationbindings.h>

Inheritance diagram for openswmmvis::ui::IClassificationBinding:
Collaboration diagram for openswmmvis::ui::IClassificationBinding:

Public Member Functions

virtual ~IClassificationBinding ()=default
 
virtual OpenSWMM::Render::ClassificationScheme scheme () const =0
 
virtual void setScheme (const OpenSWMM::Render::ClassificationScheme &)=0
 
virtual QVector< doublesampleValues () const =0
 
virtual void autoClassify ()
 
virtual QPair< double, doubledataRange () const =0
 
virtual QVector< doublecomputedEdges () const
 
virtual bool supportsContinuousMode () const
 
virtual bool supportsRangeModes () const
 
virtual bool supportsCustomRange () const
 
virtual QVector< QPair< QString, QString > > availableAttributes () const
 
virtual QString attribute () const
 
virtual void setAttribute (const QString &)
 

Detailed Description

What ClassificationEditor talks to instead of a concrete model.

Constructor & Destructor Documentation

◆ ~IClassificationBinding()

virtual openswmmvis::ui::IClassificationBinding::~IClassificationBinding ( )
virtualdefault

Member Function Documentation

◆ attribute()

virtual QString openswmmvis::ui::IClassificationBinding::attribute ( ) const
inlinevirtual

Reimplemented in openswmmvis::ui::GraduatedRendererBinding.

Here is the caller graph for this function:

◆ autoClassify()

virtual void openswmmvis::ui::IClassificationBinding::autoClassify ( )
inlinevirtual

Force a re-derive of class edges from current data, even when the scheme config is unchanged (the data itself may have changed). The default re-pushes the current scheme through the change channel; the GraduatedRendererBinding clears the renderer's cached breaks so the layer re-classifies against fresh samples.

Reimplemented in openswmmvis::ui::GraduatedRendererBinding, and openswmmvis::ui::RasterSchemeBinding.

Here is the call graph for this function:

◆ availableAttributes()

virtual QVector< QPair< QString, QString > > openswmmvis::ui::IClassificationBinding::availableAttributes ( ) const
inlinevirtual

Attribute picker is shown only when this returns a non-empty list. Pairs of (displayName, canonicalName).

Reimplemented in openswmmvis::ui::GraduatedRendererBinding.

Here is the caller graph for this function:

◆ computedEdges()

virtual QVector< double > openswmmvis::ui::IClassificationBinding::computedEdges ( ) const
inlinevirtual

The model's authoritative class edges (N+1 ascending, endpoints included) when it already holds them — e.g. a GraduatedRenderer's data-derived lastBreaks. Returning empty (the default) tells the editor to recompute edges itself via ClassificationScheme::levelEdges over dataRange() + sampleValues(). Lets the 1D table mirror the map's exact breaks without re-running the layer's sample gathering.

Reimplemented in openswmmvis::ui::GraduatedRendererBinding, and openswmmvis::ui::RasterSchemeBinding.

◆ dataRange()

virtual QPair< double, double > openswmmvis::ui::IClassificationBinding::dataRange ( ) const
pure virtual

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

Implemented in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.

Here is the caller graph for this function:

◆ sampleValues()

virtual QVector< double > openswmmvis::ui::IClassificationBinding::sampleValues ( ) const
pure virtual

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

Implemented in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.

◆ scheme()

virtual OpenSWMM::Render::ClassificationScheme openswmmvis::ui::IClassificationBinding::scheme ( ) const
pure virtual

Implemented in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.

Here is the caller graph for this function:

◆ setAttribute()

virtual void openswmmvis::ui::IClassificationBinding::setAttribute ( const QString &  )
inlinevirtual

◆ setScheme()

virtual void openswmmvis::ui::IClassificationBinding::setScheme ( const OpenSWMM::Render::ClassificationScheme )
pure virtual

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

Implemented in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.

Here is the caller graph for this function:

◆ supportsContinuousMode()

virtual bool openswmmvis::ui::IClassificationBinding::supportsContinuousMode ( ) const
inlinevirtual

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

Reimplemented in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.

◆ supportsCustomRange()

virtual bool openswmmvis::ui::IClassificationBinding::supportsCustomRange ( ) const
inlinevirtual

"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 in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.

◆ supportsRangeModes()

virtual bool openswmmvis::ui::IClassificationBinding::supportsRangeModes ( ) const
inlinevirtual

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 in openswmmvis::ui::GraduatedRendererBinding, openswmmvis::ui::SublayerSchemeBinding, and openswmmvis::ui::RasterSchemeBinding.


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