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);
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,
80 const std::array<double, 6> &adfInvTransform);
A single raster band (or channel).
Definition: gdal_priv.h:1519
Class to support viewshed raster generation.
Definition: viewshed.h:40
DatasetPtr output()
Fetch a pointer to the created raster band.
Definition: viewshed.h:61
Viewshed(const Options &opts)
Constructor.
Definition: viewshed.cpp:221
bool run(GDALRasterBandH hBand, GDALProgressFunc pfnProgress=GDALDummyProgress, void *pProgressArg=nullptr)
Compute the viewshed of a raster band.
Definition: viewshed.cpp:300
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:379
Options for viewshed generation.
Definition: viewshed_types.h:58
A window in a raster including pixels in [xStart, xStop) and [yStart, yStop).
Definition: viewshed_types.h:83