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
meshminsizecleanup.h
Go to the documentation of this file.
1
29#ifndef OPENSWMMVIS_MESH_MESHMINSIZECLEANUP_H
30#define OPENSWMMVIS_MESH_MESHMINSIZECLEANUP_H
31
32#include "meshresult.h"
33
34#include <QPointF>
35#include <QString>
36#include <QVector>
37
38namespace mesh {
39
42{
44 double minCellSize = 0.0;
45
49 double beta = 0.35;
50
51 int maxPasses = 2;
52 int maxUnfixable = 200;
53
68
73
76 int maxCandidatesPerPass = 2000000;
77};
78
81{
83 int cellsRemoved = 0;
84 int passesUsed = 0;
89
90 // ── Aggressive mode only; all zero/false when the opt-in is off ──────
97 bool exhaustedPasses = false;
98
99 double minAreaBefore = 0.0;
100 double minAreaAfter = 0.0;
101
103 bool abandoned = false;
104
105 QVector<QPointF> unfixable;
106
107 [[nodiscard]] QString summary() const;
108};
109
127 const CleanupPolicy &policy,
128 CleanupReport *report);
129
130} // namespace mesh
131
132#endif // OPENSWMMVIS_MESH_MESHMINSIZECLEANUP_H
Definition meshcommands.h:302
bool collapseSubScaleCells(MeshResult *mesh, const CleanupPolicy &policy, CleanupReport *report)
Collapse sub-scale edges in mesh, protecting all constrained and coupled geometry.
Definition meshminsizecleanup.cpp:245
Definition meshminsizecleanup.h:42
int maxPasses
Definition meshminsizecleanup.h:51
bool allowIdentityCollapse
Collapse slivers the default pass refuses to touch.
Definition meshminsizecleanup.h:67
double beta
Definition meshminsizecleanup.h:49
int minRingVertices
Definition meshminsizecleanup.h:72
int maxCandidatesPerPass
Definition meshminsizecleanup.h:76
int maxUnfixable
cap on the reported list
Definition meshminsizecleanup.h:52
double minCellSize
Definition meshminsizecleanup.h:44
Definition meshminsizecleanup.h:81
double minAreaBefore
Definition meshminsizecleanup.h:99
int cellsRemoved
Definition meshminsizecleanup.h:83
int ringEdgesShortened
Definition meshminsizecleanup.h:93
int edgesCollapsed
Definition meshminsizecleanup.h:82
bool abandoned
Definition meshminsizecleanup.h:103
QString summary() const
Definition meshminsizecleanup.cpp:26
int candidatesDropped
over maxCandidatesPerPass
Definition meshminsizecleanup.h:96
int skippedProtected
Definition meshminsizecleanup.h:88
QVector< QPointF > unfixable
centroids of protected sub-scale cells
Definition meshminsizecleanup.h:105
bool exhaustedPasses
ran out of budget mid-work
Definition meshminsizecleanup.h:97
int identityAbsorptions
sliver absorbed into an identity
Definition meshminsizecleanup.h:91
int identityConflictsSkipped
two identities, declined
Definition meshminsizecleanup.h:94
int interiorConstraintsLost
interior constrained edges collapsed
Definition meshminsizecleanup.h:92
int ringGuardSkipped
would breach minRingVertices
Definition meshminsizecleanup.h:95
int passesUsed
Definition meshminsizecleanup.h:84
double minAreaAfter
Definition meshminsizecleanup.h:100
Result of MeshGenerator::generate.
Definition meshresult.h:116