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
visibilityangledifferencetolocalhorizon.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 AngleDifferenceToLocalHorizon : public AbstractViewshedAlgorithm
13 {
14
15 public:
16 AngleDifferenceToLocalHorizon( bool all = false, double invisibleValue = -181,
17 double differenceWithoutHorizon = -180, double pointValue = 0 );
18
19 double result( std::shared_ptr<LoSImportantValues> losValues, std::shared_ptr<AbstractLoS> los ) override;
20
21 double pointValue() override { return mPointValue; };
22
23 const std::string name() override;
24
25 private:
26 bool mAllPoints = false;
27 double mInvisibleValue;
28 double mDifferenceWithoutHorizon;
29 double mPointValue;
30 };
31 } // namespace visibilityalgorithm
32} // 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 angledifferencetolocalhorizon.cpp:14
double pointValue() override
Value at important point, either view point for viewshed or target point for inverse viewshed.
Definition visibilityangledifferencetolocalhorizon.h:21
double pointValue() override
Value at important point, either view point for viewshed or target point for inverse viewshed.
Definition visibilityangledifferencetolocalhorizon.h:21