14#include <QFutureWatcher>
15#include <QLoggingCategory>
23Q_DECLARE_LOGGING_CATEGORY(lcTracePerf)
57 bool busy()
const {
return m_watcher.isRunning(); }
68 void run(
const QString &runId,
const QStringList &
nodes,
int direction,
69 const QString &destination,
const Snapshot &snapshot,
const QString &replaceId = {});
79 void recalculate(
const QString &runId,
const QStringList &extraNodes = {},
80 int extraDirection = 0,
const Snapshot &snapshot = {});
105 TraceSublayer *
attachResult(std::shared_ptr<Result> result,
bool travel);
141 void prepared(std::shared_ptr<openswmmvis::trace::Dataset> dataset);
146 void resultReady(std::shared_ptr<openswmmvis::trace::Result> result);
175 void startJob(
const QString &runId, QVector<Request> requests,
const QString &destination,
176 const Snapshot &snapshot,
bool discard);
182 void refreshOpenLayers(
const std::shared_ptr<Result> &result);
183 QPointer<SWMMVisProjectWindow> m_project;
185 std::shared_ptr<std::atomic_bool> m_cancel;
186 QString m_activePath;
187 bool m_rebinding =
false;
Definition maptoolselectprofile.h:37
Overlays time-stepped simulation results on the SWMM network geometry.
Definition swmmresultslayer.h:104
MDI sub-window owning a MapCanvas, per-project services and map tools, referring to a workspace-assoc...
Definition swmmvisprojectwindow.h:74
Definition tracecontroller.h:32
SWMMResultsLayer * outputForRun(const QString &runId)
Resolve an open output host or create a saved-analysis output layer for the run.
Definition tracecontroller.cpp:146
void busyChanged(bool busy)
Announce worker dispatch/completion.
bool hasOpenLayer(const QString &resultId) const
Definition tracecontroller.cpp:573
bool busy() const
Inspect whether the current analysis future is running.
Definition tracecontroller.h:57
static TraceController * forProject(SWMMVisProjectWindow *p, bool create=true)
Find the direct project-owned trace controller, optionally creating it.
Definition tracecontroller.cpp:138
~TraceController() override
Request cancellation and wait for analysis work before releasing controller state.
Definition tracecontroller.cpp:133
void resultReady(std::shared_ptr< openswmmvis::trace::Result > result)
Publish a computed/restored result after refreshing open layers with matching ID.
bool beforeOverwrite(const QString &outputPath, QString *error)
Drain matching active analysis and retain prior raw output/report/model metadata when configured.
Definition tracecontroller.cpp:597
QString defaultPackagePath(const QString &runId) const
Resolve the package location for a registered run.
Definition tracecontroller.cpp:221
TraceSublayer * attachResult(std::shared_ptr< Result > result, bool travel)
Show an existing matching estimate sublayer or attach a new one to its run host.
Definition tracecontroller.cpp:164
void finished(const QString &runId, bool cancelled)
Announce completed worker result delivery.
void run(const QString &runId, const QStringList &nodes, int direction, const QString &destination, const Snapshot &snapshot, const QString &replaceId={})
Request saved/cached or newly computed estimates for unique seed names.
Definition tracecontroller.cpp:233
void cancel()
Set the current shared cancellation flag without blocking the GUI.
Definition tracecontroller.cpp:216
void progress(int percent, const QString &stage)
Publish queued native analysis progress.
void recalculate(const QString &runId, const QStringList &extraNodes={}, int extraDirection=0, const Snapshot &snapshot={})
Definition tracecontroller.cpp:250
void reconcileOutputRuns()
Move analysis sublayers to historical run hosts when a path starts representing a newer run.
Definition tracecontroller.cpp:191
void prepared(std::shared_ptr< openswmmvis::trace::Dataset > dataset)
Publish available hydraulic averages after associating their package with run history.
void failed(const QString &message)
Explain rejected dispatch or uncancelled worker failure.
ArrowPlacement p
Definition linesymbollayer.cpp:29
Definition traceanalysislayer.h:22
QString message
Definition queryparser.cpp:230
Definition tracecontroller.h:25
QString runId
Definition tracecontroller.h:26
QString error
Definition tracecontroller.h:26
QVector< std::shared_ptr< Result > > results
Definition tracecontroller.h:29
bool cancelled
Definition tracecontroller.h:27
std::shared_ptr< Dataset > dataset
Definition tracecontroller.h:28
Definition tracedata.h:35
double error
Definition terrainerrorfield.cpp:42
QVector< QPointF > nodes
Definition traceanalysislayer.cpp:163
Value types for flow balance and travel-time analysis results.
bool cancelled
Definition vectorexport.cpp:214