SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
mesh::InpMeshReadResult Struct Reference

Outcome of InpMeshReader::read. More...

#include <inpmeshreader.h>

Collaboration diagram for mesh::InpMeshReadResult:

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< MeshEdgeBCedgeBCs
 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.
 

Detailed Description

Outcome of InpMeshReader::read.

Member Data Documentation

◆ edgeBCs

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.

◆ errorMsg

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.

◆ hasMesh

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.

◆ isExternal

bool mesh::InpMeshReadResult::isExternal = false

True when the mesh was loaded via [2D_MESH_FILE] FILE <path>.

◆ mesh

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.

◆ sourceCrsTag

QString mesh::InpMeshReadResult::sourceCrsTag

Value of the optional ;; SOURCE_CRS: <tag> header line.

◆ sourcePath

QString mesh::InpMeshReadResult::sourcePath

File the mesh was parsed from (the .inp itself for inline meshes, the resolved .2dm path otherwise).

◆ unitsHeader

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).

◆ warning

QString mesh::InpMeshReadResult::warning

Non-fatal warning (e.g. legacy file missing the ;; UNITS: header — caller may surface this).


The documentation for this struct was generated from the following file: