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
mesh::pslg::ConditionReport Struct Reference

#include <pslgminsize.h>

Collaboration diagram for mesh::pslg::ConditionReport:

Public Member Functions

QString summary () const
 

Public Attributes

int verticesWelded = 0
 
int segmentsSplit = 0
 Vertex-edge fix-ups (§4 stage 3c).
 
int pathsCollapsed = 0
 
int pathsShortened = 0
 Polylines that lost vertices to resampling.
 
int shortEdgesKept = 0
 Sub-minLen edges retained by the deviation cap.
 
int holesDropped = 0
 
int cornersTrimmed = 0
 
int cornersSkipped = 0
 Sharp corners left alone (policy or degree > 2).
 
int crossingsBefore = 0
 
int crossingsAfter = 0
 
int crossingsRepaired = 0
 
int iterationsUsed = 0
 
int duplicateSegments = 0
 
int identitiesMerged = 0
 
bool weldRadiusDominatesDomain = false
 
double domainNarrowestExtent = 0.0
 
double maxDisplacement = 0.0
 
double domainAreaBefore = 0.0
 
double domainAreaAfter = 0.0
 
double predictedMinLfs = 0.0
 Worst surviving feature scale.
 
bool conditioningAbandoned = false
 
QString abandonReason
 
QVector< Violationresiduals
 Capped at MinSizePolicy::maxResiduals.
 

Detailed Description

What conditioning did. Every field is a count of a geometry change the user is entitled to know about; domainArea* in particular is the number a reviewer asks for, since moving boundary vertices moves the wetted domain.

Member Function Documentation

◆ summary()

QString mesh::pslg::ConditionReport::summary ( ) const

One-line summary for the generation log.

Member Data Documentation

◆ abandonReason

QString mesh::pslg::ConditionReport::abandonReason

Why the fail-safe tripped, for the generation log. Empty unless conditioningAbandoned is set.

◆ conditioningAbandoned

bool mesh::pslg::ConditionReport::conditioningAbandoned = false

True when the fail-safe tripped: conditioning would have left the PSLG in a worse state than it started in — more proper crossings, or any of the degeneracies that abort Triangle without being crossings at all (a segment emitted twice, a zero-length segment, two collinear segments overlapping) — so every argument was restored and generation should proceed unconditioned.

◆ cornersSkipped

int mesh::pslg::ConditionReport::cornersSkipped = 0

Sharp corners left alone (policy or degree > 2).

◆ cornersTrimmed

int mesh::pslg::ConditionReport::cornersTrimmed = 0

◆ crossingsAfter

int mesh::pslg::ConditionReport::crossingsAfter = 0

◆ crossingsBefore

int mesh::pslg::ConditionReport::crossingsBefore = 0

◆ crossingsRepaired

int mesh::pslg::ConditionReport::crossingsRepaired = 0

◆ domainAreaAfter

double mesh::pslg::ConditionReport::domainAreaAfter = 0.0

◆ domainAreaBefore

double mesh::pslg::ConditionReport::domainAreaBefore = 0.0

◆ domainNarrowestExtent

double mesh::pslg::ConditionReport::domainNarrowestExtent = 0.0

◆ duplicateSegments

int mesh::pslg::ConditionReport::duplicateSegments = 0

Constrained segments that conditioning welded onto geometry another segment already occupied. Triangle drops the repeat, so ONE of the two alignments loses its edge marker and the tag it carried — a modelling change, not a failure, and the reason this is counted separately from the degeneracies that trip the fail-safe.

◆ holesDropped

int mesh::pslg::ConditionReport::holesDropped = 0

◆ identitiesMerged

int mesh::pslg::ConditionReport::identitiesMerged = 0

Coupling identities merged into another identity. Non-zero only under MinSizePolicy::allowIdentityMerge. Each one also emits an ViolationCause::IdentityMerged residual naming both tags.

◆ iterationsUsed

int mesh::pslg::ConditionReport::iterationsUsed = 0

◆ maxDisplacement

double mesh::pslg::ConditionReport::maxDisplacement = 0.0

◆ pathsCollapsed

int mesh::pslg::ConditionReport::pathsCollapsed = 0

◆ pathsShortened

int mesh::pslg::ConditionReport::pathsShortened = 0

Polylines that lost vertices to resampling.

◆ predictedMinLfs

double mesh::pslg::ConditionReport::predictedMinLfs = 0.0

Worst surviving feature scale.

◆ residuals

QVector<Violation> mesh::pslg::ConditionReport::residuals

◆ segmentsSplit

int mesh::pslg::ConditionReport::segmentsSplit = 0

Vertex-edge fix-ups (§4 stage 3c).

◆ shortEdgesKept

int mesh::pslg::ConditionReport::shortEdgesKept = 0

Sub-minLen edges retained by the deviation cap.

◆ verticesWelded

int mesh::pslg::ConditionReport::verticesWelded = 0

◆ weldRadiusDominatesDomain

bool mesh::pslg::ConditionReport::weldRadiusDominatesDomain = false

Diagnostic: the weld radius is at least half the narrowest domain extent, so a ring fold is likely. Reported BEFORE conditioning runs so the log can explain an abandon the user is about to see.


The documentation for this struct was generated from the following files: