![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
Options for refineQuality(). More...
#include <cdt.hpp>
Public Attributes | |
| std::function< double(double, double)> | hAt |
| std::function< double(const Point *)> | maximumAreaForTriangle |
| double | maximumAdjacentRatio = 0 |
| std::function< double(int, int)> | fixedNeighbourSize |
| int | sizingRepairPasses = 0 |
| int | maximumSizingRepairInsertions = 200000 |
| std::function< double(const Point *, const double *, Point *)> | terrainError |
| std::function< double(double, double)> | terrainElevationAt |
| double | terrainTolerance = 0.0 |
| std::function< double(const Box &)> | terrainToleranceForFootprint |
| Positive immutable full-footprint tolerance; invalid means unknown. | |
| double | terrainMinSpacing = 0.0 |
| bool | terrainWorstFirst = false |
| bool | terrainFinalCheck = true |
| int | smoothingPasses = 0 |
| int | coarsenPasses = 0 |
| Maximum attempts per free vertex; 0 = off. | |
| CoarseningOrder | coarseningOrder = CoarseningOrder::LegacyFlatness |
| std::function< double(const Box &)> | coarseningTargetSize |
| Prescribed size; zero means unbounded, never evolving geometry. | |
| double | coarseningReferenceSize = 10 |
| double | normalVerticalToXY = 1 |
| std::function< bool(const Point &)> | protectedLocation |
| Set< int > | protectedVertices |
| Additional template vertices to retain. | |
| std::function< double(const Point *, const double *)> | terrainErrorBound |
| bool | prioritizeQuality = true |
| int | maxTriangles = std::numeric_limits<int>::max() |
| double | minAngleDeg = 30.0 |
| int | maxInsertions = std::numeric_limits<int>::max() |
| double | minEdge = 0.0 |
| std::function< bool()> | cancelled |
| std::function< void(const GenerationProgress &)> | onProgress |
Options for refineQuality().
| std::function<bool()> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::cancelled |
Polled every 4096 insertions; returning true stops refinement.
| CoarseningOrder meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::coarseningOrder = CoarseningOrder::LegacyFlatness |
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::coarseningReferenceSize = 10 |
| std::function<double(const Box &)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::coarseningTargetSize |
Prescribed size; zero means unbounded, never evolving geometry.
| int meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::coarsenPasses = 0 |
Maximum attempts per free vertex; 0 = off.
| std::function<double(int, int)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::fixedNeighbourSize |
| std::function<double(double, double)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::hAt |
Target edge length h at (x, y): a triangle is split when its area exceeds the equilateral triangle of side h(centroid). Null, or <= 0 at a point, = no size bound there.
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::maximumAdjacentRatio = 0 |
| std::function<double(const Point *)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::maximumAreaForTriangle |
| int meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::maximumSizingRepairInsertions = 200000 |
| int meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::maxInsertions = std::numeric_limits<int>::max() |
Safety cap on inserted vertices (segment splits included).
| int meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::maxTriangles = std::numeric_limits<int>::max() |
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::minAngleDeg = 30.0 |
Smallest angle every triangle must reach (degrees); 0 = size only. High bounds can exhaust the resource/cascade limits; no termination guarantee is implied by the practical 33-degree UI limit.
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::minEdge = 0.0 |
Floor against refinement cascades (an angle bound near the limit on an awkward input can otherwise shrink edges towards rounding error): a triangle whose shortest edge is below this is not split for its angle, and a subsegment shorter than twice this is not split. 0 = none.
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::normalVerticalToXY = 1 |
| std::function<void(const GenerationProgress &)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::onProgress |
Advisory typed counters at bounded checkpoints; no topology scans. Callback must not throw or reenter the kernel.
| bool meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::prioritizeQuality = true |
| std::function<bool(const Point &)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::protectedLocation |
| Set<int> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::protectedVertices |
Additional template vertices to retain.
| int meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::sizingRepairPasses = 0 |
| int meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::smoothingPasses = 0 |
Passes of non-degrading smoothing after size and angle refinement: each free vertex (inserted after build(), on no constraint) moves to the area-weighted centroid of its star when that raises the star's worst angle, then the star is made Delaunay again. Runs before terrain points are placed (with terrainWorstFirst, or without terrain). 0 = off.
| std::function<double(double, double)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainElevationAt |
| std::function<double(const Point *, const double *, Point *)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainError |
Actual surface error at the reference DEM samples covered by a triangle. Return a failing residual and its source point; NaN means unverified coverage. Elevations are cached per vertex.
| std::function<double(const Point *, const double *)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainErrorBound |
Certified maximum residual INCLUDING coverage, unlike terrainError's refinement witness. Return NaN for unknown coverage. Required for coarsening with terrain; absent means skip coarsening safely.
| bool meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainFinalCheck = true |
After refinement, measure every live triangle's terrain error for Report::terrainUnresolved / terrainUnknown / maxTerrainError. A full exact read of the DEM; false leaves those counts at zero for a caller that verifies the finished mesh itself.
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainMinSpacing = 0.0 |
| double meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainTolerance = 0.0 |
| std::function<double(const Box &)> meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainToleranceForFootprint |
Positive immutable full-footprint tolerance; invalid means unknown.
| bool meshkit::BasicConstrainedDelaunay< Storage >::QualityOptions::terrainWorstFirst = false |
Refine size and angle first, then insert terrain points worst error first until the tolerance or maxTriangles is reached, so a capped run spends its budget where the surface error is largest. false = terrain is checked inline with size and angle (default).