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);
63 return std::move(poDstDS);
71 GDALRasterBand *pSrcBand =
nullptr;
73 DatasetPtr execute(
int nX,
int nY,
const std::string &outFilename);
74 void setOutput(
double &dfResult,
double &dfCellVal,
double dfZ);
75 double calcHeight(
double dfZ,
double dfZ2);
76 bool readLine(
int nLine,
double *data);
77 std::pair<int, int> adjustHeight(
int iLine,
int nX,
78 std::vector<double> &thisLineVal);
79 bool calcExtents(
int nX,
int nY,
const GDALGeoTransform &invGT);
85double CPL_DLL adjustCurveCoeff(
double curveCoeff,
GDALDatasetH hSrcDS);
DatasetPtr output()
Fetch a pointer to the created raster band.
Definition viewshed.h:61
Viewshed(const Options &opts)
Constructor.
Definition viewshed.cpp:286
bool run(GDALRasterBandH hBand, GDALProgressFunc pfnProgress=GDALDummyProgress, void *pProgressArg=nullptr)
Compute the viewshed of a raster band.
Definition viewshed.cpp:376
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:116