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
visibilityfuzzy.h
1#pragma once
2#include "viewshed_export.h"
3
4#include "abstractviewshedalgorithm.h"
5
6namespace viewshed
7{
8 namespace visibilityalgorithm
9 {
10 class DLL_API FuzzyVisibility : public AbstractViewshedAlgorithm
11 {
12
13 public:
14 FuzzyVisibility( double clearVisibility = 500, double halfDropout = 1500,
15 bool includeVerticalDistance = false, double notVisible = -1 );
16
17 double result( std::shared_ptr<LoSImportantValues> losValues, std::shared_ptr<AbstractLoS> los ) override;
18
19 double pointValue() override { return 1; };
20
21 const std::string name() override;
22
23 private:
24 double mB1;
25 double mB2;
26 double mNotVisible = -1;
27 bool mVerticalDistance = false;
28 };
29 } // namespace visibilityalgorithm
30} // 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 fuzzy.cpp:15
double pointValue() override
Value at important point, either view point for viewshed or target point for inverse viewshed.
Definition visibilityfuzzy.h:19