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
IEditScope.hpp
Go to the documentation of this file.
1
10#pragma once
11#include "INativeEditScope.hpp"
12#include <QDateTime>
13#include <QPointF>
14#include <QVariant>
15#include <QVector>
16namespace OpenSWMM::Sdk
17{
20{
21public:
23 virtual ~IEditScope() = default;
33 virtual bool setAttribute(const QString &category, const QString &name, const QString &field,
34 const QVariant &value, QString *error = nullptr) = 0;
40 virtual bool addNode(const QString &name, int type, QPointF point) = 0;
48 virtual bool addLink(const QString &name, int type, const QString &from, const QString &to,
49 const QVector<QPointF> &vertices = {}) = 0;
54 virtual bool addGage(const QString &name, QPointF point) = 0;
59 virtual bool addSubcatchment(const QString &name, const QVector<QPointF> &polygon) = 0;
65 virtual bool rename(const QString &category, const QString &name, const QString &newName) = 0;
72 virtual bool addTimeSeries(const QString &name, const QVector<QDateTime> &times,
73 const QVector<double> &values, bool replace = false) = 0;
80 virtual bool setGageSeries(const QString &gage, const QString &series, double intervalSeconds,
81 int rainfallFormat) = 0;
90 virtual bool addInflow(const QString &node, const QString &constituent, const QString &series,
91 const QString &type = "FLOW", double scale = 1.,
92 double baseline = 0.) = 0;
96 virtual bool commit(QString *error = nullptr) = 0;
100 virtual bool abort(QString *error = nullptr) = 0;
101};
102}
Transactional native edits with snapshot rollback and undo.
Definition IEditScope.hpp:20
virtual bool setGageSeries(const QString &gage, const QString &series, double intervalSeconds, int rainfallFormat)=0
Bind a rain gage to an authored precipitation time series.
virtual bool abort(QString *error=nullptr)=0
Restore the pre-edit model without adding an undo command.
virtual bool addSubcatchment(const QString &name, const QVector< QPointF > &polygon)=0
Add a subcatchment outline through the existing apply path.
virtual bool addNode(const QString &name, int type, QPointF point)=0
Add a node through SWMMModelLayer's existing apply path.
virtual bool rename(const QString &category, const QString &name, const QString &newName)=0
Rename an object using the model's reference-aware rename path.
virtual bool commit(QString *error=nullptr)=0
Commit all accepted edits as one snapshot-backed undo command.
virtual bool addInflow(const QString &node, const QString &constituent, const QString &series, const QString &type="FLOW", double scale=1., double baseline=0.)=0
Append an external inflow row with explicit series and unit scaling.
virtual bool setAttribute(const QString &category, const QString &name, const QString &field, const QVariant &value, QString *error=nullptr)=0
Set an existing object's writable GUI property.
virtual ~IEditScope()=default
Abort uncommitted work and release its engine lease.
virtual bool addLink(const QString &name, int type, const QString &from, const QString &to, const QVector< QPointF > &vertices={})=0
Add a link between existing nodes.
virtual bool addTimeSeries(const QString &name, const QVector< QDateTime > &times, const QVector< double > &values, bool replace=false)=0
Create or replace authored time-series samples.
virtual bool addGage(const QString &name, QPointF point)=0
Add a spatial rain-gage object.
Public header-only ABI for independently compiled native GUI extensions.
Definition ExtensionHost.hpp:24
QString from
Definition raingageassignment.cpp:301
QString to
Definition raingageassignment.cpp:301
QString node
Definition raingageassignment.cpp:301
double value
Definition rasterfluxintegration.cpp:27
double error
Definition terrainerrorfield.cpp:42
double scale
Definition timeseriesassignment.cpp:21