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
losnode.h
1#pragma once
2#include "viewshed_export.h"
3
4#include <memory>
5
6#include "enums.h"
7#include "rasterposition.h"
8
9namespace viewshed
10{
11 class Point;
12 class CellEvent;
13
18 class DLL_API LoSNode : public RasterPosition
19 {
20 public:
21 double mAngle[3];
22 double mElevs[3];
23 double mDistances[3];
24 bool mInverseLoSBehindTarget = false;
25
30 LoSNode();
31
38 LoSNode( int row, int col );
39
50 LoSNode( const int &pointRow, const int &pointCol, const CellEvent *e, const double &cellSize );
51
52 bool operator==( const LoSNode &other ) const;
53 bool operator!=( const LoSNode &other ) const;
54 bool operator<( const LoSNode other ) const;
55
63 double valueAtAngle( const double &angle, ValueType valueType = ValueType::Elevation ) const;
64
72 double value( CellEventPositionType position, ValueType valueType = ValueType::Elevation ) const;
73
79 double centreAngle() const;
80
86 double centreElevation() const;
87
93 double centreDistance() const;
94
95 double elevationAtAngle( const double &angle ) const;
96
97 double distanceAtAngle( const double &angle ) const;
98 };
99} // namespace viewshed
Class representing cell events for Van Kreveld's plane sweep algorithm. Stores cell position (row and...
Definition cellevent.h:17
double centreElevation() const
Shortcut call to obtain elevation angle at center of raster cell that this LoSNode represents.
Definition losnode.cpp:136
double centreAngle() const
Shortcut call to obtain horizontal angle at center of raster cell that this LoSNode represents.
Definition losnode.cpp:134
double valueAtAngle(const double &angle, ValueType valueType=ValueType::Elevation) const
Extract value of ValueType at specified angle.
Definition losnode.cpp:94
double centreDistance() const
Shortcut call to obtain distance angle at center of raster cell that this LoSNode represents.
Definition losnode.cpp:138
LoSNode()
Construct a new empty LoSNode object.
Definition losnode.cpp:15
double value(CellEventPositionType position, ValueType valueType=ValueType::Elevation) const
Extract value of ValueType at specific cell event position.
Definition losnode.cpp:71
Class representing cell events for Van Kreveld's plane sweep algorithm. Stores cell position (row and...
Definition cellevent.h:17
Class that represents important point for viewshed - view point, or inverse viewshed - target point....
Definition point.h:21