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);
75 GDALRasterBand *pSrcBand =
nullptr;
76 GDALRasterBand *pSdBand =
nullptr;
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);
84 bool calcExtents(
int nX,
int nY,
const GDALGeoTransform &invGT);
90double CPL_DLL adjustCurveCoeff(
double curveCoeff,
GDALDatasetH hSrcDS);
DatasetPtr output()
Fetch a pointer to the created raster band.
Definition viewshed.h:65
Viewshed(const Options &opts)
Constructor.
Definition viewshed.cpp:312
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