![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
#include "mesh/pslgprep.h"#include "core/editgeometry.h"#include <QSet>#include <QtConcurrent/QtConcurrent>#include <algorithm>#include <cmath>Namespaces | |
| namespace | mesh |
| namespace | mesh::pslg |
Functions | |
| QVector< QPointF > | mesh::pslg::simplifyPolyline (const QVector< QPointF > &pts, double epsilon) |
| QVector< QPointF > | mesh::pslg::simplifyRing (const QVector< QPointF > &ring, double epsilon) |
| QVector< QPointF > | mesh::pslg::densifyRing (const QVector< QPointF > &ring, double maxLen) |
| double | mesh::pslg::polylineLength (const QVector< QPointF > &pts) |
| double | mesh::pslg::ringSignedArea (const QVector< QPointF > &ring) |
| QVector< QPointF > | mesh::pslg::resampleMinLength (const QVector< QPointF > &pts, double minLen, double maxDeviation, int *flaggedOut=nullptr) |
| Length-based decimation — the inverse of densifyRing(). | |
| QVector< QPointF > | mesh::pslg::resampleRingMinLength (const QVector< QPointF > &ring, double minLen, double maxDeviation, int *flaggedOut=nullptr) |
| double | mesh::pslg::distSqToSegment (const QPointF &p, const QPointF &a, const QPointF &b) |
| void | mesh::pslg::snapAndDedupe (QVector< mesh::SteinerPoint > &pts, double snapEps) |
| QVector< bool > | mesh::pslg::greedyMinSeparation (const QVector< QPointF > &pts, double minSep) |
| Greedy minimum-separation thinning in input order. | |
| PreparedRing | mesh::pslg::prepareHoleRing (const QVector< QPointF > &raw, double simplifyEps, double maxEdgeLen) |
| bool | mesh::pslg::prepareHoleRings (const QVector< QVector< QPointF > > &raw, double simplifyEps, double maxEdgeLen, QVector< PreparedRing > *out, const std::function< bool()> &isCancelled={}, const std::function< void(int, int)> &onChunk={}, int *skippedOut=nullptr) |
| Prepare many hole rings in parallel (order-preserving). | |
The RDP / densify / dedupe helpers are moved verbatim from meshgenerationdialog.cpp's anonymous namespace so the pipeline, collectInputs, and tests share one implementation.