![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
#include "mesh/meshinfil.h"#include <QDialog>#include <QPointer>#include <QString>#include <QVector>Go to the source code of this file.
Classes | |
| class | openswmmvis::ui::InfilAssignToSelectionDialog |
Namespaces | |
| namespace | openswmmvis |
| namespace | openswmmvis::ui |
"Assign Infiltration to Selection…" — GUI plan workplans/INTEGRATED2D_GW_GUI_PLAN_2026-08-15.md §3.5(4), phase GG0c.
The mesh-editing toolbar's cell editor prescribes ONE parameter to a selection. Infiltration is not one parameter: it is a method plus up to five positional values plus a destination, and the values only mean anything together. This dialog is the whole-row form, applied to the cells the user picked on the map with MapToolPick2DCells.
Two write targets, and the difference matters (engine D-I3):
[2D_INFILTRATION] row per cell. The command snapshots each cell's PROVENANCE, so undoing an assignment made over an inheriting cell restores INHERITANCE rather than a materialised copy carrying identical numbers.[2D_INFILTRATION_DEFAULTS] row. Offered only when every selected cell shares one non-empty tag, because that is the only case where "these
cells" and "this region" mean the same thing. This is the in-map route to editing a default instead of minting overrides, so a later region-level edit still reaches the cells.Parameter fields are masked by the chosen method through mesh::infilUsesParam(). Every destination is selectable and carries a mesh::infilDestHint() tooltip — the engine routes all three, and whether AQUIFER_2D works depends on the open model carrying a [2D_AQUIFER] rather than on the release, so the engine judges it at resolve. Same two rules the attribute table and the region-defaults table follow.
Singleton-raise per [[feedback_mvc_synchronized_uis]]: showFor() keeps a static QPointer so the toolbar action and the menu mirror raise one window rather than stacking two views over the same selection.