14#ifndef VIEWSHED_H_INCLUDED
15#define VIEWSHED_H_INCLUDED
27#include "cpl_progress.h"
29#include "viewshed_types.h"
53 GDALProgressFunc pfnProgress = GDALDummyProgress,
54 void *pProgressArg =
nullptr);
57 GDALProgressFunc pfnProgress = GDALDummyProgress,
58 void *pProgressArg =
nullptr);
67 return std::move(poDstDS);
78 DatasetPtr execute(
int nX,
int nY,
const std::string &outFilename);
79 void setOutput(
double &dfResult,
double &dfCellVal,
double dfZ);
80 double calcHeight(
double dfZ,
double dfZ2);
81 bool readLine(
int nLine,
double *data);
82 std::pair<int, int> adjustHeight(
int iLine,
int nX,
83 std::vector<double> &thisLineVal);
86 Viewshed(
const Viewshed &) =
delete;
87 Viewshed &operator=(
const Viewshed &) =
delete;
90double CPL_DLL adjustCurveCoeff(
double curveCoeff,
GDALDatasetH hSrcDS);
A single raster band (or channel).
Definition gdal_rasterband.h:108
Class to support viewshed raster generation.
Definition viewshed.h:40
DatasetPtr output()
Fetch a pointer to the created raster band.
Definition viewshed.h:65
bool run(GDALRasterBandH hBand, GDALProgressFunc pfnProgress=GDALDummyProgress, void *pProgressArg=nullptr)
Compute the viewshed of a raster band.
Definition viewshed.cpp:402
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition gdal_fwd.h:42
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition gdal_fwd.h:45
This file is legacy since GDAL 3.12, but will be kept at least in the whole GDAL 3....
Options for viewshed generation.
Definition viewshed_types.h:59
A window in a raster including pixels in [xStart, xStop) and [yStart, yStop).
Definition viewshed_types.h:118