![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
#include "mesh/meshminsizecleanup.h"#include "mesh/meshcellgeom.h"#include <QHash>#include <QSet>#include <algorithm>#include <cmath>#include <limits>Namespaces | |
| namespace | mesh |
Functions | |
| bool | mesh::collapseSubScaleCells (MeshResult *mesh, const CleanupPolicy &policy, CleanupReport *report) |
Collapse sub-scale edges in mesh, protecting all constrained and coupled geometry. | |
See meshminsizecleanup.h. Standard half-edge-free edge collapse: candidate edges are the short ones, each collapse is gated by the LINK CONDITION (the textbook test for whether a collapse preserves manifoldness) plus an orientation check on every affected triangle, and the whole pass is transactional.
| QSet<int> boundaryVerts |
| QSet<VKey> constrained |
edges that must survive
| QHash<VKey, QVector<int> > edgeTris |
edge -> incident triangles
| QVector<bool> isIdentityVert |
tag/coupledNode only — see build()
| QVector<bool> protectedVert |
| QVector<int> ringId |
hull-cycle id, -1 = interior
| QHash<int, int> ringVertexCount |
| QVector<QSet<int> > vertNbrs |
vertex -> adjacent vertices
| QVector<bool> vertQuad |
vertex -> touches a quad (collapse refused)
| QVector<QSet<int> > vertTris |
vertex -> incident cells