61#ifndef OPENSWMMVIS_MESH_PSLGMINSIZE_H
62#define OPENSWMMVIS_MESH_PSLGMINSIZE_H
251 [[nodiscard]] QString
summary()
const;
267 const QVector<QPolygonF> &domains,
268 const QVector<QVector<QPointF>> &holeRings,
269 const QVector<ConstraintSegment> &segs,
270 const QVector<SteinerPoint> &
pts,
272 int maxReported = 200);
292 QVector<QVector<QPointF>> *holeRings,
293 QVector<ConstraintSegment> *segs,
294 QVector<SteinerPoint> *
pts,
297 const std::function<
bool()> &isCancelled = {});
int h
Definition mesh2dresultsexport.cpp:387
QVector< QPointF > pts
Definition meshpatch.cpp:62
ViolationCause
Definition pslgminsize.h:175
@ CloseFeatures
Two non-incident features within h of each other.
@ IdentityMerged
Two coupling identities were merged (opt-in only).
@ ShortSegment
A constrained edge shorter than h.
@ SubScaleRing
A ring (hole or domain notch) narrower than h.
@ SmallAngle
Two segments meeting at an angle that forces apex slivers.
QVector< Violation > analyseLocalFeatureSize(const QVector< QPolygonF > &domains, const QVector< QVector< QPointF > > &holeRings, const QVector< ConstraintSegment > &segs, const QVector< SteinerPoint > &pts, double h, int maxReported=200)
Analyse the PSLG's local feature size. Read-only.
Definition pslgminsize.cpp:766
bool conditionMinSize(QVector< QPolygonF > *domains, QVector< QVector< QPointF > > *holeRings, QVector< ConstraintSegment > *segs, QVector< SteinerPoint > *pts, const MinSizePolicy &policy, ConditionReport *report, const std::function< bool()> &isCancelled={})
Condition the PSLG so it can support cells of size policy.minCellSize.
Definition pslgminsize.cpp:910
QString violationCauseName(ViolationCause c)
Definition pslgminsize.cpp:68
Definition meshcommands.h:302
Definition pslgminsize.h:199
int pathsShortened
Polylines that lost vertices to resampling.
Definition pslgminsize.h:203
double domainAreaBefore
Definition pslgminsize.h:232
int identitiesMerged
Definition pslgminsize.h:223
int holesDropped
Definition pslgminsize.h:205
int segmentsSplit
Vertex-edge fix-ups (ยง4 stage 3c).
Definition pslgminsize.h:201
int crossingsBefore
Definition pslgminsize.h:208
int crossingsAfter
Definition pslgminsize.h:209
double maxDisplacement
Definition pslgminsize.h:231
bool conditioningAbandoned
Definition pslgminsize.h:242
int crossingsRepaired
Definition pslgminsize.h:210
int shortEdgesKept
Sub-minLen edges retained by the deviation cap.
Definition pslgminsize.h:204
int pathsCollapsed
Definition pslgminsize.h:202
double predictedMinLfs
Worst surviving feature scale.
Definition pslgminsize.h:234
bool weldRadiusDominatesDomain
Definition pslgminsize.h:228
int duplicateSegments
Definition pslgminsize.h:218
QString summary() const
Definition pslgminsize.cpp:81
QString abandonReason
Definition pslgminsize.h:246
int cornersSkipped
Sharp corners left alone (policy or degree > 2).
Definition pslgminsize.h:207
int iterationsUsed
Definition pslgminsize.h:211
int verticesWelded
Definition pslgminsize.h:200
double domainNarrowestExtent
Definition pslgminsize.h:229
int cornersTrimmed
Definition pslgminsize.h:206
double domainAreaAfter
Definition pslgminsize.h:233
QVector< Violation > residuals
Capped at MinSizePolicy::maxResiduals.
Definition pslgminsize.h:248
Policy for minimum-feature-size conditioning.
Definition pslgminsize.h:84
bool allowIdentityMerge
Let two coupling identities merge into one another.
Definition pslgminsize.h:138
double refinementAreaCap(double uniformCap) const
The value RefineHook::targetAreaAt should report, given the user's uniform uniformCap (GenerationOpti...
Definition pslgminsize.cpp:61
int maxResiduals
Cap on ConditionReport::residuals.
Definition pslgminsize.h:145
bool collapseSubScalePaths
Definition pslgminsize.h:114
double identityMergeRadius
Definition pslgminsize.h:142
double weldRadius
<0 โ h. Features closer than this merge.
Definition pslgminsize.h:90
bool ringsReadOnly
Definition pslgminsize.h:120
double trimAngleDeg
Definition pslgminsize.h:97
double maxDeviation
<0 โ h/2. Cap on shape change from resampling.
Definition pslgminsize.h:92
double minSegmentLen
<0 โ h. Shortest permitted constrained edge.
Definition pslgminsize.h:91
void resolveDefaults()
Definition pslgminsize.cpp:41
double minCellSize
Definition pslgminsize.h:88
int maxIterations
Weld / fix-up / crossing-repair fixed-point cap.
Definition pslgminsize.h:144
bool dropSubScaleHoles
Definition pslgminsize.h:108
double minTriangleArea() const
Definition pslgminsize.cpp:54
bool enabled() const
Definition pslgminsize.h:150
bool trimAtTaggedNodes
Definition pslgminsize.h:103
Definition pslgminsize.h:187
double lfs
Offending length scale (map units).
Definition pslgminsize.h:189
QString tagA
Tag of the feature involved, when known.
Definition pslgminsize.h:191
ViolationCause cause
Definition pslgminsize.h:190
QPointF xy
Definition pslgminsize.h:188
QString tagB
Tag of the second feature, for pairwise causes.
Definition pslgminsize.h:192