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
losevaluator.h
1#pragma once
2#include "viewshed_export.h"
3
4#include <limits>
5#include <memory>
6#include <vector>
7
8#include "losimportantvalues.h"
9#include "viewshedtypes.h"
10#include "viewshedvalues.h"
11
12using viewshed::ViewshedAlgorithms;
13
14namespace viewshed
15{
16 class AbstractLoS;
18
24 class DLL_API LoSEvaluator
25 {
26 public:
27 LoSEvaluator( std::shared_ptr<AbstractLoS> los, std::shared_ptr<ViewshedAlgorithms> visibilityIndices );
28
33 void calculate();
34
39 void reset();
40
46 int size();
47
54 std::shared_ptr<AbstractViewshedAlgorithm> algorithmAt( int i );
55
62 double resultAt( int i );
63
64 bool mAlreadyParsed = false;
65
66 std::shared_ptr<LoSImportantValues> mLosValues = std::make_shared<LoSImportantValues>();
67
74
75 private:
76 std::shared_ptr<AbstractLoS> mLos;
77 std::shared_ptr<ViewshedAlgorithms> mVisibilityIndices;
78 ViewshedValues mResultValues;
79
80 void parseNodes();
81 };
82} // namespace viewshed
void calculate()
Calculate results of LoS evaluation for every algorithms.
Definition losevaluator.cpp:100
void reset()
Resets outcomes.
Definition losevaluator.cpp:118
std::shared_ptr< AbstractViewshedAlgorithm > algorithmAt(int i)
Algorithm at specific index.
Definition losevaluator.cpp:20
double resultAt(int i)
Algorithm result at specific index.
Definition losevaluator.cpp:124
int size()
Number of algorithms.
Definition losevaluator.cpp:18
ViewshedValues results()
Results of the algorithms.
Definition losevaluator.cpp:126
Abstract class that represent line-of-sight (LoS). Consists of LoSNodes, view point and target point ...
Definition abstractlos.h:25
Base class for all Viewshed Algorithms.
Definition abstractviewshedalgorithm.h:19
A simple class that stores results of visibility indices calculation (in form of vector of doubles) f...
Definition viewshedvalues.h:17