![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Go to the source code of this file.
Classes | |
| struct | OpenSWMM::Render::ContourJobInput |
| struct | OpenSWMM::Render::ContourJobInput::TriPos |
| struct | OpenSWMM::Render::ContourJobOutput |
Namespaces | |
| namespace | OpenSWMM |
| namespace | OpenSWMM::Render |
Functions | |
| ContourJobOutput | OpenSWMM::Render::computeContourJob (const ContourJobInput &in) |
QSG-2D-1M Phase 7 — thread-safe contour job input/output for asynchronous marching-triangles recomputation.
The results QSG renderer's per-tick marching pass reads the layer's live SceneTri buffer, which applyCurrentDepths_() mutates in place on every animation tick — a worker thread must never touch it. ContourJobInput is an immutable snapshot the GUI thread assembles instead:
computeContourJob() is a pure function of that snapshot — no Qt Quick, no shared state — so it can run on any pool thread and is unit-testable headlessly (tests/unit/test_contourjob.cpp locks its output to the synchronous marching path bit-for-bit).
Staleness is handled by the caller via Qsg2DAsyncResult: results carry a generation token and stale output is dropped, never applied.