Viewshed 6.1.0
A C++ library for calculation of viewshed, inverse viewshed and visibility indices for both of those analyses.
Loading...
Searching...
No Matches
visibilityhorizons.h
1#pragma once
2#include "viewshed_export.h"
3
4#include <limits>
5
6#include "abstractviewshedalgorithm.h"
7
8namespace viewshed
9{
10 namespace visibilityalgorithm
11 {
12 class DLL_API Horizons : public AbstractViewshedAlgorithm
13 {
14
15 public:
16 Horizons( double horizon = 1, double notHorizon = 0,
17 double globalHorizon = std::numeric_limits<double>::quiet_NaN() );
18
19 double result( std::shared_ptr<LoSImportantValues> losValues, std::shared_ptr<AbstractLoS> los ) override;
20
21 double pointValue() override { return mNotHorizon; };
22
23 const std::string name() override;
24
25 private:
26 double mNotHorizon;
27 double mHorizon;
28 double mGlobalHorizon;
29 };
30 } // namespace visibilityalgorithm
31} // namespace viewshed
Base class for all Viewshed Algorithms.
Definition abstractviewshedalgorithm.h:19
double result(std::shared_ptr< LoSImportantValues > losValues, std::shared_ptr< AbstractLoS > los) override
Extract resulting value based on LoSImportantValues and specific los.
Definition horizons.cpp:21
double pointValue() override
Value at important point, either view point for viewshed or target point for inverse viewshed.
Definition visibilityhorizons.h:21