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

Slice BQ Phase 6.7.4 — MVC model for a single SWMM transect. More...

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

Go to the source code of this file.

Classes

struct  openswmmvis::transect::TransectPoint
 One (station, elevation) sample on a transect cross-section. More...
 
class  openswmmvis::transect::TransectProvider
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::transect
 

Detailed Description

Slice BQ Phase 6.7.4 — MVC model for a single SWMM transect.

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

One TransectProvider per [TRANSECTS] entry in the project. Owned by a project-scoped TransectRegistry. Single source of truth: the editor's list pane, property panel rows (QPropertyModel), station-elevation grid, and the cross-section chart all bind to the same provider and refresh through its Qt signals ([[feedback_mvc_synchronized_uis]]).

Storage invariant: station-elevation points are strictly ascending in station (X). Every public mutator validates the post-mutation state and refuses any operation that would violate it — emitting mutationRejected(reason) so the caller can surface the rejection. Bulk operations are atomic: either all points are updated, or none.

Mirrors CurveProvider (Phase 6.7.1) in shape; the additional surface area covers Manning's roughness triple, bank stations, encroachment stations (BQ-TR-02 Reading B), modifier triple (xFactor / yFactor / lengthFactor), and comments.