![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
#include "mesh/meshresult.h"#include <QPointF>#include <QVector>#include <array>#include <cmath>Go to the source code of this file.
Classes | |
| struct | mesh::CellGeom |
| Per-cell derived geometry shared by every consumer. More... | |
Namespaces | |
| namespace | mesh |
Functions | |
| constexpr int | mesh::edgeSlot (int cell, int e) noexcept |
| constexpr int | mesh::slotCell (int slot) noexcept |
| constexpr int | mesh::slotLocal (int slot) noexcept |
| constexpr int | mesh::edgeSlotCount (int nCells) noexcept |
| void | mesh::edgeEndpoints (const MeshTriangle &t, int k, int &a, int &b) noexcept |
| bool | mesh::rt0CellDischarge (int cell, int nv, const float *flux, const float *length, const float *nx, const float *ny, double &qx, double &qy) noexcept |
| RT0 least-squares specific discharge (m²/s) of one cell from its outward-positive normal edge fluxes (m³/s). | |
| CellGeom | mesh::cellGeom (const QVector< MeshVertex > &vertices, const MeshTriangle &t) |
Geometry of cell t against vertices. | |
| double | mesh::cellSignedArea (const QVector< MeshVertex > &vertices, const MeshTriangle &t) noexcept |
| Signed area of the polygon (positive = counter-clockwise). | |
| bool | mesh::cellIsConvex (const QVector< MeshVertex > &vertices, const MeshTriangle &t) noexcept |
| Convexity test for a quad (every consecutive cross product has the same non-zero sign). Triangles are trivially convex. | |
| bool | mesh::cellContains (const QVector< MeshVertex > &vertices, const MeshTriangle &t, const QPointF &p, double eps=0.0) noexcept |
| Point-in-cell test on the sub-triangle fan (barycentric per sub-triangle). | |
Variables | |
| constexpr int | mesh::kEdgeStride = 4 |
Mixed triangle/quad cell helpers (workplans/TRI_QUAD_MESHING_PLAN_2026-09-06.md, phase G1). ONE place decides how a cell's edges are numbered, how its flat edge slots are addressed, and how a quad is split into the two sub-triangles the engine's storage model uses — rendering, hit-testing, profiles, contours and statistics all draw the same picture the solver stores.
Engine contract (plans/2D_TRI_QUAD_MESH_PLAN_2026-09-06.md):
cell * 4 + k; slot 3 of a triangle is unused);