![]() |
SWMMVis
6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
|
How a layer's vertex Z values are obtained (PLAN §4.1). More...
#include <featurelayer.h>
Public Types | |
| enum class | Source { None = 0 , Constant , Raster , Mesh } |
Public Member Functions | |
| bool | isThreeD () const |
| QJsonObject | toJson () const |
| bool | operator== (const ZPolicy &o) const |
| bool | operator!= (const ZPolicy &o) const |
Static Public Member Functions | |
| static ZPolicy | fromJson (const QJsonObject &o) |
Public Attributes | |
| Source | source = Source::None |
| QString | sourceLayerId |
| OpenSWMMVisLayer::layerId() of the raster or mesh. | |
| int | rasterBand = 1 |
| double | constant = 0.0 |
| double | densifySpacing = 0.0 |
| double | zScale = 1.0 |
| bool | resampleOnEdit = true |
How a layer's vertex Z values are obtained (PLAN §4.1).
source == None means the layer is 2D: its GeoPackage table is created without the 25D flag and FeatureLayer::isThreeD is false. Because that decides the OGR geometry type it is fixed at creation; the SOURCE may be changed afterwards and followed by a Resample Z.
|
strong |
|
static |
|
inline |
|
inline |
| bool ZPolicy::operator== | ( | const ZPolicy & | o | ) | const |
| QJsonObject ZPolicy::toJson | ( | ) | const |
| double ZPolicy::constant = 0.0 |
| double ZPolicy::densifySpacing = 0.0 |
Insert vertices every densifySpacing map units before sampling, so a breakline drawn with three clicks follows the terrain instead of chording it. <= 0 disables. Must stay >= the mesh minimum cell size or the constraint segments come out sub-cell — the dock warns.
| int ZPolicy::rasterBand = 1 |
| bool ZPolicy::resampleOnEdit = true |
Re-sample a vertex's Z when it is moved or inserted.
| Source ZPolicy::source = Source::None |
| QString ZPolicy::sourceLayerId |
OpenSWMMVisLayer::layerId() of the raster or mesh.
| double ZPolicy::zScale = 1.0 |
Vertical unit conversion applied to every sample (raster feet → model metres, etc.). Seeded from GISRasterLayer::detectVerticalUnit.