![]() |
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 <algorithm>#include <cmath>#include <limits>Go to the source code of this file.
Classes | |
| struct | mesh::QuadQualityBounds |
| Acceptance bounds shared by pairing, cleanup, smoothing and the legacy tri-pair merge. Defaults are the plan's (§5): hard 60°/120°, SJ ≥ 0.866, aspect ≤ 2. More... | |
| struct | mesh::QuadQuality |
Namespaces | |
| namespace | mesh |
Functions | |
| QuadQuality | mesh::quadQuality (const QPointF &a, const QPointF &b, const QPointF &c, const QPointF &d) |
| Metrics for corners a,b,c,d in cyclic order. | |
| QuadQuality | mesh::quadQuality (const QVector< MeshVertex > &vertices, const MeshTriangle &t) |
Metrics for a quad cell of mesh (t.v3 >= 0 required). | |
| bool | mesh::quadAcceptable (const QuadQuality &q, const QuadQualityBounds &b) |
| Hard acceptance test (convex + angle bounds + SJ floor + aspect cap). | |
| double | mesh::quadScore (const QuadQuality &q, const QuadQualityBounds &b) |
| Combined score in [0,1] (plan §5): SJ · min(1, aspectMax/aspect) · sqrt(1 - skew). 0 for a non-convex quad. Used as the pairing benefit and the smoothing objective. | |
| double | mesh::triangleScaledJacobian (const QPointF &a, const QPointF &b, const QPointF &c) |
| Minimum sine of a triangle's angles (1 is unattainable; equilateral = 0.866; right isosceles = 0.707). Used by the smoothing guard for the triangles that remain inside a quad region. | |
| double | mesh::cellCornerAngleDeg (const QVector< MeshVertex > &v, const MeshTriangle &t, int i) |
Interior angle at corner i of a cell (degrees), triangles and quads. | |
Quadrilateral quality metrics (workplans/QUAD_MESHING_REDESIGN_PLAN_2026-09-06.md §5).
Header-only. Every function takes the four corners in cyclic order (CCW or CW — angles are unsigned). "Scaled Jacobian" is Knupp's algebraic metric: at each corner, the sine of the interior angle; the quad's value is the minimum over the four corners (1 for a rectangle, 0.866 at 60°/120°, 0 when a corner degenerates, negative when the quad folds).