![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Implementation of the per-cell 2D infiltration value types, resolution and token grammar declared in meshinfil.h. More...
#include "mesh/meshinfil.h"#include "mesh/meshresult.h"#include <QCoreApplication>#include <QFile>#include <QFileInfo>#include <QSaveFile>#include <QTextStream>#include <cmath>Namespaces | |
| namespace | mesh |
Functions | |
| int | mesh::indexOfDefault (const MeshResult &mesh, const QString &tag) |
Index of tag in MeshResult::infilDefaults, or -1. | |
| InfilRow | mesh::starDefault (const MeshResult &mesh) |
Convenience: the '*' row from mesh, or a None row when absent. | |
| ResolvedInfil | mesh::resolveInfil (const MeshResult &mesh, int tri) |
| Resolve one triangle's infiltration per engine D-I3 precedence: ‘override > tag row > ’*' row > none`. | |
| bool | mesh::infilUsesParam (InfilMethod method, int slot) |
True when method uses positional slot slot. | |
| int | mesh::infilParamCount (InfilMethod method) |
Number of meaningful positional parameters for method. | |
| QString | mesh::infilParamLabel (InfilMethod method, int slot) |
Display label for positional slot slot under method, e.g. ("Horton", 0) → "Max Rate (f0)". Empty when unused. | |
| QByteArray | mesh::infilParamKey (InfilMethod method, int slot) |
Registry key for positional slot slot under method, e.g. "infil.f0". Empty when unused. | |
| int | mesh::infilSlotForKey (InfilMethod method, const QByteArray &key) |
Inverse of infilParamKey(): maps a registry key to the positional slot it occupies under method, or -1 when method does not use it. | |
| const QVector< QByteArray > & | mesh::infilParamKeys () |
| Every named parameter key, in registration order. The attribute table and the assign dialog iterate this. | |
| QString | mesh::infilMethodToken (InfilMethod m) |
| "HORTON", "CURVE_NUMBER", "NONE", … | |
| InfilMethod | mesh::infilMethodFromToken (const QString &token, bool *ok=nullptr) |
| QString | mesh::infilMethodLabel (InfilMethod m) |
| Translated UI label. | |
| QStringList | mesh::infilMethodLabels () |
| For EnumComboDelegate, in enum order. | |
| QString | mesh::infilDestToken (InfilDest d) |
| "LOST", … | |
| InfilDest | mesh::infilDestFromToken (const QString &token, bool *ok=nullptr) |
| QString | mesh::infilDestLabel (InfilDest d) |
| QStringList | mesh::infilDestLabels () |
| QString | mesh::infilDestHint (InfilDest d) |
A one-sentence tooltip for destination d: where the water goes and what the choice needs. | |
| bool | mesh::saveLookupTableCsv (const InfilLookupTable &table, const QString &path, QString *err) |
CSV round-trip. Column order: key1[,key2],method,p0,p1,p2,p3,p4,dest, # comments, header row optional. | |
| bool | mesh::loadLookupTableCsv (InfilLookupTable *table, const QString &path, QString *err) |
Implementation of the per-cell 2D infiltration value types, resolution and token grammar declared in meshinfil.h.
Tokens, positional parameter order and destination spellings are copied from the engine's src/engine/2d/infil/Infil2D.cpp (parseInfil2DMethod / infil2DMethodToken / infil2DParamCount) — the two sides read and write the same [2D_INFILTRATION*] sections, so any divergence here is a silent data-loss bug.