![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Pre-save check for IO portability across .inp and .gpkg.
More...
#include <QString>#include <QStringList>#include <QVector>#include <openswmm/engine/openswmm_engine.h>Go to the source code of this file.
Classes | |
| struct | openswmmvis::project::SlotPreview |
| Per-slot preview row returned by the normalizer. More... | |
| struct | openswmmvis::project::PreflightResult |
| Outcome of a single pre-flight pass. More... | |
| class | openswmmvis::project::IoPortabilityNormalizer |
| Stateless utility — every method is static. More... | |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::project |
Pre-save check for IO portability across .inp and .gpkg.
Slice IO-10. Sits between `SWMMVis::onSaveAs` (path dialog
resolution) and `SWMMVisProjectWindow::saveAs` (the engine
writer call). Walks every scalar external-file slot on the
engine via the IO-9 typed C-API and produces:
- a per-slot preview of how the relative form would render
against the destination directory (`.inp` target only);
- a list of non-fatal warnings (cross-volume slots, missing
USE-direction files, etc.) for the GUI status panel.
The normalizer never mutates the engine — the rebase math is
the engine writer's job. Its purpose is to give the GUI an
actionable preview so the user can fix problems before saving.
Vector slots (per-gage, per-timeseries, per-hot-start save)
are covered by their respective editors in Slice IO-11; this
first cut focuses on the 7 scalar `SWMM_FilePathRole`s that
dominate the portability burden.
See `openswmm.gui/docs/IO_PORTABILITY_PLAN.md` §3.8.