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
sizingaudit.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2#pragma once
3#include "meshresult.h"
4#include <QRectF>
5#include <functional>
6
7namespace mesh
8{
9// Version 1: nominal triangle size sqrt(4A/sqrt(3)), quad size sqrt(A).
10// The minimum target is advisory. A separately requested edge floor is hard
11// in strict mode. Transition is the ratio of nominal sizes across shared faces.
14 // Bound from the immutable requested field over the WHOLE cell bbox.
15 // Zero means unbounded; negative/nonfinite values are errors, never passes.
16 std::function<double(const QRectF &)> footprintMaximum;
17 std::function<bool()> cancelled;
18 quint64 maximumWorkspaceBytes = quint64(1) << 30, workBudget = 0;
20};
30 int cell = -1, neighbour = -1;
31 quint8 flags = 0;
32 QPointF location;
33 double measured = 0, requested = 0;
34 QString message;
35};
37 bool complete = false, valid = false, cancelled = false, resourceLimited = false;
38 QString error;
42 QVector<quint8> cellFlags;
43 QVector<SizingAuditExample> examples;
44 bool limitsSatisfied() const
45 {
48 }
49};
50// Read-only independent geometry/connectivity audit. Does not call the CDT's
51// acceptance or sizing helpers. Sorted compact face records avoid an edge hash
52// proportional to millions of cells. Failure/exhaustion is never certification.
53SizingAuditReport auditMeshSizing(const MeshResult &, const SizingAuditOptions & = {});
54}
value types for the 2D mesh generator.
Definition meshcommands.h:38
SizingCellFlag
Definition sizingaudit.h:21
@ AboveMaximum
Definition sizingaudit.h:24
@ BelowEdgeFloor
Definition sizingaudit.h:23
@ TouchesConstraint
Definition sizingaudit.h:27
@ AboveLocalMaximum
Definition sizingaudit.h:25
@ TransitionExceeded
Definition sizingaudit.h:26
@ BelowTarget
Definition sizingaudit.h:22
SizingAuditReport auditMeshSizing(const MeshResult &, const SizingAuditOptions &={})
Definition sizingaudit.cpp:28
Definition sizingaudit.h:29
int cell
Definition sizingaudit.h:30
int neighbour
Definition sizingaudit.h:30
QString message
Definition sizingaudit.h:34
quint8 flags
Definition sizingaudit.h:31
QPointF location
Definition sizingaudit.h:32
double measured
Definition sizingaudit.h:33
double requested
Definition sizingaudit.h:33
Definition sizingaudit.h:12
double adjacentRatio
Definition sizingaudit.h:13
double minimumTarget
Definition sizingaudit.h:13
double maximumSize
Definition sizingaudit.h:13
quint64 maximumWorkspaceBytes
Definition sizingaudit.h:18
std::function< bool()> cancelled
Definition sizingaudit.h:17
quint64 workBudget
Definition sizingaudit.h:18
double minimumEdge
Definition sizingaudit.h:13
std::function< double(const QRectF &)> footprintMaximum
Definition sizingaudit.h:16
int maximumExamples
Definition sizingaudit.h:19
Definition sizingaudit.h:36
bool limitsSatisfied() const
Definition sizingaudit.h:44
QVector< quint8 > cellFlags
Definition sizingaudit.h:42
quint64 cellsChecked
Definition sizingaudit.h:39
double largestNominal
Definition sizingaudit.h:41
bool valid
Definition sizingaudit.h:37
quint64 facesChecked
Definition sizingaudit.h:39
quint64 aboveLocalMaximum
Definition sizingaudit.h:40
quint64 belowEdgeFloor
Definition sizingaudit.h:39
quint64 belowTarget
Definition sizingaudit.h:39
bool resourceLimited
Definition sizingaudit.h:37
quint64 workUsed
Definition sizingaudit.h:40
double largestAdjacentRatio
Definition sizingaudit.h:41
bool complete
Definition sizingaudit.h:37
QVector< SizingAuditExample > examples
Definition sizingaudit.h:43
double smallestNominal
Definition sizingaudit.h:41
bool cancelled
Definition sizingaudit.h:37
quint64 transitionFaces
Definition sizingaudit.h:40
quint64 aboveMaximum
Definition sizingaudit.h:40
QString error
Definition sizingaudit.h:38
double
Definition swmmpollutantpropertyadapter.cpp:68