22#ifndef MESHGENERATIONDIALOG_H
23#define MESHGENERATIONDIALOG_H
34#include <QFutureWatcher>
328 QWidget *
parent =
nullptr);
332 void onBrowseMeshPath();
334 void onMeshFinished();
337 void onCancelOrReject();
342 void populateLayerCombos();
343 void updateUnitDisplay();
344 void updateZFactor();
347 void updateMinCellDerivedLabel();
352 [[nodiscard]] QStringList regionTags()
const;
354 void refreshRegionRows();
364 QComboBox *m_dtmCombo =
nullptr;
365 QLabel *m_domainLabel =
nullptr;
366 QLabel *m_dtmVertUnitLabel =
nullptr;
367 QComboBox *m_meshVertCRSCombo =
nullptr;
368 QDoubleSpinBox *m_zFactorSpin =
nullptr;
371 QComboBox *m_boundaryLayerCombo =
nullptr;
372 QListWidget *m_pointLayersList =
nullptr;
373 QListWidget *m_lineLayersList =
nullptr;
381 QCheckBox *include =
nullptr;
382 QCheckBox *useZ =
nullptr;
385 QVector<AuxLayerRow> m_pointLayerRows;
386 QVector<AuxLayerRow> m_lineLayerRows;
389 QCheckBox *m_includeJunctions =
nullptr;
390 QCheckBox *m_includeConduits =
nullptr;
391 QCheckBox *m_includeSubcatch =
nullptr;
392 QCheckBox *m_mapNodesAfterGen =
nullptr;
393 QCheckBox *m_nodesUseRim =
nullptr;
394 QDoubleSpinBox *m_nodeFlattenSpin =
nullptr;
395 QCheckBox *m_nodeMinSepBox =
nullptr;
396 QDoubleSpinBox *m_nodeMinSepSpin =
nullptr;
399 QGroupBox *m_elevInterpGroup =
nullptr;
400 QComboBox *m_elevMethodCombo =
nullptr;
401 QComboBox *m_nnVariantCombo =
nullptr;
402 QDoubleSpinBox *m_idwPowerSpin =
nullptr;
405 QDoubleSpinBox *m_maxAreaSpin =
nullptr;
406 QDoubleSpinBox *m_minAngleSpin =
nullptr;
407 QDoubleSpinBox *m_gradationSpin =
nullptr;
408 QSpinBox *m_maxSteinerSpin =
nullptr;
410 QDoubleSpinBox *m_simplifyEpsSpin =
nullptr;
411 QDoubleSpinBox *m_snapEpsSpin =
nullptr;
412 QCheckBox *m_allowSteiner =
nullptr;
414 QCheckBox *m_maxBoundaryEdgeBox =
nullptr;
415 QDoubleSpinBox *m_maxBoundaryEdgeSpin =
nullptr;
418 QDoubleSpinBox *m_minCellSizeSpin =
nullptr;
419 QCheckBox *m_minSizeEnforceBox =
nullptr;
420 QPushButton *m_minCellSuggestBtn =
nullptr;
421 QDoubleSpinBox *m_trimAngleSpin =
nullptr;
422 QCheckBox *m_trimAtNodesBox =
nullptr;
423 QCheckBox *m_dropSubScaleHolesBox =
nullptr;
424 QCheckBox *m_cleanupBox =
nullptr;
425 QLabel *m_minCellDerivedLabel =
nullptr;
429 QCheckBox *m_quadMergeBox =
nullptr;
430 QDoubleSpinBox *m_quadMinAngleSpin =
nullptr;
431 QDoubleSpinBox *m_quadMaxAngleSpin =
nullptr;
432 QDoubleSpinBox *m_quadMinSjSpin =
nullptr;
433 QDoubleSpinBox *m_quadMaxAspectSpin =
nullptr;
434 QDoubleSpinBox *m_quadPlanaritySpin =
nullptr;
437 QCheckBox *m_quadEverywhereCheck =
nullptr;
438 QDoubleSpinBox *m_quadEverywhereSpacingSpin =
nullptr;
439 QComboBox *m_quadRegionLayerCombo =
nullptr;
440 QLineEdit *m_quadRegionSubcatchEdit =
nullptr;
441 QComboBox *m_quadRegionModeCombo =
nullptr;
442 QDoubleSpinBox *m_quadRegionSpacingSpin =
nullptr;
443 QDoubleSpinBox *m_quadRegionAspectSpin =
nullptr;
444 QDoubleSpinBox *m_quadRegionAngleSpin =
nullptr;
448 QTableWidget *m_patchTable =
nullptr;
451 QCheckBox *m_thinningBox =
nullptr;
452 QDoubleSpinBox *m_thinningToleranceSpin =
nullptr;
453 QSpinBox *m_thinningIterationsSpin =
nullptr;
454 QSpinBox *m_thinningMaxPointsSpin =
nullptr;
455 QCheckBox *m_minSpacingBox =
nullptr;
456 QDoubleSpinBox *m_minSpacingSpin =
nullptr;
458 QDoubleSpinBox *m_boundaryBufferSpin =
nullptr;
463 QDoubleSpinBox *m_manningsValueSpin =
nullptr;
464 QDoubleSpinBox *m_initDepthSpin =
nullptr;
470 QRadioButton *m_outputExternal =
nullptr;
471 QRadioButton *m_outputInline =
nullptr;
472 QLineEdit *m_meshPathEdit =
nullptr;
473 QPushButton *m_browseMeshBtn =
nullptr;
477 QProgressBar *m_progressBar =
nullptr;
478 QLabel *m_progressLabel =
nullptr;
479 QPushButton *m_generateBtn =
nullptr;
480 QPushButton *m_cancelBtn =
nullptr;
A map layer backed by a GDAL/OGR vector dataset.
Definition gisvectorlayer.h:103
An axis-aligned bounding box in the coordinate space of a given CRS.
Definition mapextent.h:26
Definition meshgenerationdialog.h:57
~MeshGenerationDialog() override
Definition meshgenerationdialog.cpp:2837
NNVariant
Natural-neighbour weighting variant.
Definition meshgenerationdialog.h:69
ElevInterpMethod
Elevation interpolation method for the no-DTM fallback.
Definition meshgenerationdialog.h:67
Definition maptoolselectprofile.h:37
MDI sub-window owning a MapCanvas, SWMMModelLayer, and map tools.
Definition swmmvisprojectwindow.h:58
MeshOutputMode
Output strategy for the four 2D mesh sections.
Definition inpmeshwriter.h:51
@ External
Write .2dm next to the .inp; reference via [2D_MESH_FILE].
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
Result produced by the pipeline worker and consumed on the main thread inside onMeshFinished().
Definition meshgenerationdialog.h:318
mesh::MeshResult meshResult
Definition meshgenerationdialog.h:321
QString errorMsg
Definition meshgenerationdialog.h:320
mesh::CouplingMap coupling
Definition meshgenerationdialog.h:322
mesh::MeshOutputMode outputMode
Definition meshgenerationdialog.h:324
QString meshPath
Definition meshgenerationdialog.h:323
bool ok
Definition meshgenerationdialog.h:319
1D↔2D coupling map produced by the meshing dialog.
Definition inpmeshwriter.h:34
Parameters for the normal-deviation terrain thinning.
Definition dtmthinner.h:93
Quality knobs surfaced to the user dialog.
Definition meshgenerator.h:68
Result of MeshGenerator::generate.
Definition meshresult.h:116
Acceptance bounds shared by pairing, cleanup, smoothing and the legacy tri-pair merge....
Definition meshquadquality.h:33
Definition meshquadregion.h:39
Policy for minimum-feature-size conditioning.
Definition pslgminsize.h:84