7#ifndef VIEWSHED_CUMULATIVE_H_INCLUDED
8#define VIEWSHED_CUMULATIVE_H_INCLUDED
13#include "notifyqueue.h"
15#include "viewshed_types.h"
34 CPL_DLL
bool run(
const std::string &srcFilename,
35 GDALProgressFunc pfnProgress = GDALDummyProgress,
36 void *pProgressArg =
nullptr);
39 friend class Combiner;
47 using Buf32 = std::vector<uint32_t>;
53 ObserverQueue m_observerQueue{};
54 DatasetQueue m_datasetQueue{};
55 DatasetQueue m_rollupQueue{};
58 void runExecutor(
const std::string &srcFilename, Progress &progress,
59 std::atomic<bool> &err, std::atomic<int> &running,
60 std::atomic<bool> &hasFoundNoData);
63 bool writeOutput(DatasetPtr pDstDS);
Cumulative(const Options &opts)
Constructor.
Definition cumulative.cpp:28
bool run(const std::string &srcFilename, GDALProgressFunc pfnProgress=GDALDummyProgress, void *pProgressArg=nullptr)
Compute the cumulative viewshed of a raster band.
Definition cumulative.cpp:42
This is a thread-safe queue.
Definition notifyqueue.h:26
Support for progress reporting in viewshed construction.
Definition progress.h:23
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