![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Outcome of InpMeshReader::read. More...
#include <inpmeshreader.h>
Public Attributes | |
| MeshResult | mesh |
Parsed mesh; mesh.ok mirrors hasMesh. XY are in SI metres (the engine contract); caller divides back to the project CRS for display. | |
| QString | sourcePath |
| File the mesh was parsed from (the .inp itself for inline meshes, the resolved .2dm path otherwise). | |
| bool | isExternal = false |
True when the mesh was loaded via [2D_MESH_FILE] FILE <path>. | |
| bool | hasMesh = false |
True only when [2D_VERTICES] and [2D_TRIANGLES] (or [2D_QUADS]) were found and parsed into a non-empty mesh. | |
| QString | errorMsg |
| Non-empty only on read failure (missing referenced .2dm, malformed sections). An .inp with no 2D sections is not an error. | |
| QString | warning |
Non-fatal warning (e.g. legacy file missing the ;; UNITS: header — caller may surface this). | |
| QString | unitsHeader |
Verbatim value of the ;; UNITS: header line (empty when absent). XY in mesh.vertices are left unchanged — the engine's consumer side branches on this value (SI files skip the FLOW_UNITS-based ft→m scaling). | |
| QString | sourceCrsTag |
Value of the optional ;; SOURCE_CRS: <tag> header line. | |
| QVector< MeshEdgeBC > | edgeBCs |
Slice §V.VD.1 — per-edge boundary conditions parsed from a [2D_BOUNDARY_CONDITIONS] section. Flat-indexed mesh::edgeSlot(cell, eLocal) (stride mesh::kEdgeStride; slot 3 of a triangle is unused padding); sized mesh::edgeSlotCount(n_cells) with Wall defaults when the section is missing. A row whose EDGE exceeds its cell's edge count (2 for a triangle, 3 for a quad) is dropped. Empty when there is no mesh. | |
Outcome of InpMeshReader::read.
| QVector<MeshEdgeBC> mesh::InpMeshReadResult::edgeBCs |
Slice §V.VD.1 — per-edge boundary conditions parsed from a [2D_BOUNDARY_CONDITIONS] section. Flat-indexed mesh::edgeSlot(cell, eLocal) (stride mesh::kEdgeStride; slot 3 of a triangle is unused padding); sized mesh::edgeSlotCount(n_cells) with Wall defaults when the section is missing. A row whose EDGE exceeds its cell's edge count (2 for a triangle, 3 for a quad) is dropped. Empty when there is no mesh.
| QString mesh::InpMeshReadResult::errorMsg |
Non-empty only on read failure (missing referenced .2dm, malformed sections). An .inp with no 2D sections is not an error.
| bool mesh::InpMeshReadResult::hasMesh = false |
True only when [2D_VERTICES] and [2D_TRIANGLES] (or [2D_QUADS]) were found and parsed into a non-empty mesh.
| bool mesh::InpMeshReadResult::isExternal = false |
True when the mesh was loaded via [2D_MESH_FILE] FILE <path>.
| MeshResult mesh::InpMeshReadResult::mesh |
Parsed mesh; mesh.ok mirrors hasMesh. XY are in SI metres (the engine contract); caller divides back to the project CRS for display.
| QString mesh::InpMeshReadResult::sourceCrsTag |
Value of the optional ;; SOURCE_CRS: <tag> header line.
| QString mesh::InpMeshReadResult::sourcePath |
File the mesh was parsed from (the .inp itself for inline meshes, the resolved .2dm path otherwise).
| QString mesh::InpMeshReadResult::unitsHeader |
Verbatim value of the ;; UNITS: header line (empty when absent). XY in mesh.vertices are left unchanged — the engine's consumer side branches on this value (SI files skip the FLOW_UNITS-based ft→m scaling).
| QString mesh::InpMeshReadResult::warning |
Non-fatal warning (e.g. legacy file missing the ;; UNITS: header — caller may surface this).