12#ifndef OPENSWMM_MESH_TERRAINERRORFIELD_H
13#define OPENSWMM_MESH_TERRAINERRORFIELD_H
103 bool open(
const QString &
path,
const QString &meshCRS,
const QRectF &domain,
104 double zScale = 1.0,
int cacheMiB = 64,
105 const std::function<
bool(
double)> &
progress = {},
const QString &indexFile = {});
139 const std::function<
bool(
double)> &
progress = {});
171 void prefetch(
const QVector<QRectF> &meshBoxes)
const;
195 Query
queryTriangle(
const QPointF *xy,
const double *z,
double tolerance,
196 bool exhaustive =
false)
const;
218 Query
queryWorst(
const QPointF *xy,
const double *z,
double tolerance)
const;
300 std::function<
bool(
const QRectF &)> intersects = {});
304 std::unique_ptr<Impl> d;
Definition terrainerrorfield.h:30
double verticalQuantum() const
Report a proven whole-raw-unit quantization step scaled into output elevation units.
Definition terrainerrorfield.cpp:1288
void setCancellation(std::function< bool()> cancelled)
Store/replace the predicate polled by subsequent triangle/worst queries.
Definition terrainerrorfield.cpp:1307
TerrainErrorField(const TerrainErrorField &)=delete
Prohibit copying terrain reader, transform and cache ownership.
bool buildFromGrid(const float *z, int cols, int rows, const std::function< bool(double)> &progress={})
Replace the field with a copied in-memory unit-pixel DEM and build summaries.
Definition terrainerrorfield.cpp:975
bool open(const QString &path, const QString &meshCRS, const QRectF &domain, double zScale=1.0, int cacheMiB=64, const std::function< bool(double)> &progress={}, const QString &indexFile={})
Replace the field with a band-one DEM reader and planar residual-summary hierarchy.
Definition terrainerrorfield.cpp:878
bool indexLoaded() const
Read whether the latest open reused a persisted summary index.
Definition terrainerrorfield.cpp:966
Query queryTriangle(const QPointF *xy, const double *z, double tolerance, bool exhaustive=false) const
Compare original DEM pixel-center samples against a supplied planar triangle with certified skips.
Definition terrainerrorfield.cpp:1095
double sampleAt(double x, double y) const
Bilinearly sample the original DEM using mesh-coordinate input and output elevation scale.
Definition terrainerrorfield.cpp:1004
qint64 summaryBytes() const
Sum raw Node payload bytes in all retained hierarchy levels.
Definition terrainerrorfield.cpp:1281
~TerrainErrorField()
Release owned cache/index storage, transforms, dataset and callback captures.
bool indexSaved() const
Read whether the latest successful hierarchy build saved its persisted index.
Definition terrainerrorfield.cpp:970
Query queryWorst(const QPointF *xy, const double *z, double tolerance) const
Find the same visited worst residual/point as a nonexhaustive triangle query with best-first pruning.
Definition terrainerrorfield.cpp:1168
TerrainErrorField & operator=(const TerrainErrorField &)=delete
Prohibit assignment that would duplicate reader/cache ownership.
TerrainErrorField()
Construct an empty independently owned terrain reader/cache implementation.
Definition terrainerrorfield.cpp:875
quint64 referenceSamples() const
Count finite scaled DEM samples represented by the root summary.
Definition terrainerrorfield.cpp:1277
void setQueryOverride(const QRectF &bounds, std::function< double(double, double, double)> value, std::function< bool(const QRectF &)> intersects={})
Retain a composite-reference callback and conservative spatial certification bounds.
Definition terrainerrorfield.cpp:1311
void prefetch(const QVector< QRectF > &meshBoxes) const
Warm missing raster tiles for selected mesh-coordinate rectangles using independent workers.
Definition terrainerrorfield.cpp:998
QString errorMsg() const
Copy the most recent stored open/build/tile-read diagnostic.
Definition terrainerrorfield.cpp:1273
double leafResidualQuantile(double q) const
Select a quantile of usable 16x16 leaf-plane residual bounds.
Definition terrainerrorfield.cpp:1292
QString path
Populated by the worker only after its own successful atomic creation.
Definition extensiontimeseriesaccess.cpp:32
Definition meshcommands.h:38
double value
Definition rasterfluxintegration.cpp:27
Definition terrainerrorfield.h:32
bool valid
False for unknown vertex z or I/O failure.
Definition terrainerrorfield.h:38
QPointF point
Location of maxError.
Definition terrainerrorfield.h:35
double upperBound
Includes certified unvisited blocks.
Definition terrainerrorfield.h:34
double maxError
Largest actually visited residual.
Definition terrainerrorfield.h:33
quint64 samples
Valid samples actually tested inside T.
Definition terrainerrorfield.h:36
quint64 noDataSamples
Missing DEM samples inside T; never certified as terrain.
Definition terrainerrorfield.h:37
int rows
Definition terrainerrorfield.cpp:54
int y
Definition terrainerrorfield.cpp:60
int cols
Definition terrainerrorfield.cpp:54
int x
Definition terrainerrorfield.cpp:60
QRectF bounds
Definition traceanalysislayer.cpp:165
const ExportProgress * progress
Definition vectorexport.cpp:211
bool cancelled
Definition vectorexport.cpp:214