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
los.h
1#pragma once
2#include "viewshed_export.h"
3
4#include <memory>
5#include <vector>
6
7#include "abstractlos.h"
8#include "enums.h"
9
10using viewshed::ValueType;
11
12// using viewshed::Visibility;
13
14namespace viewshed
15{
16 class CellEvent;
17 class LosNode;
18 class Point;
19
24 class DLL_API LoS : public AbstractLoS
25 {
26 public:
27 LoS();
28 LoS( std::vector<LoSNode> losNodes );
29
30 void setLoSNodes( std::vector<LoSNode> losNodes );
31 void setTargetPoint( std::shared_ptr<LoSNode> poi, double targetOffset = 0 );
32 void prepareForCalculation() override;
33
34 bool isValid() override;
35
36 int targetPointIndex() override;
37 int numberOfNodes() override;
38 int resultRow() override;
39 int resultCol() override;
40
41 LoSNode nodeAt( std::size_t i ) override;
42 void removePointsAfterTarget();
43
44 protected:
45 void sort() override;
46 void findTargetPointIndex() override;
47 };
48
49} // namespace viewshed
void prepareForCalculation() override
Prepare line-of-sight for calculation. For example inverse LoS needs some preprocessing before being ...
Definition los.cpp:43
int numberOfNodes() override
Number of LoSNodes in this line-of-sight.
Definition los.cpp:49
int resultCol() override
Column number where the outcome of LoS analysis should be stored.
Definition los.cpp:55
int targetPointIndex() override
Index of target point in the line-of-sight.
Definition los.cpp:41
LoSNode nodeAt(std::size_t i) override
LoSNode at specific index.
Definition los.cpp:51
void findTargetPointIndex() override
Retrieve index of target point in this LoS.
Definition los.cpp:30
void sort() override
Sort LoSNodes by distance from View point.
Definition los.cpp:17
int resultRow() override
Row number where the outcome of LoS analysis should be stored.
Definition los.cpp:53
Class representing cell events for Van Kreveld's plane sweep algorithm. Stores cell position (row and...
Definition cellevent.h:17
Representation of single cell that creates a point on LoS.
Definition losnode.h:19
Class that represents important point for viewshed - view point, or inverse viewshed - target point....
Definition point.h:21