2#include "viewshed_export.h"
6#include "abstractlos.h"
9using viewshed::ValueType;
24 class DLL_API InverseLoS :
public AbstractLoS
28 InverseLoS( std::vector<LoSNode> losNodes );
30 void setLoSNodes( std::vector<LoSNode> losNodes );
31 void setLoSNodes(
LoS los );
32 void setViewPoint( std::shared_ptr<Point>
vp ) =
delete;
33 void setTargetPoint( std::shared_ptr<Point> tp ) =
delete;
34 void setTargetPoint( std::shared_ptr<Point> tp,
double targetOffset = 0 );
35 void setViewPoint( std::shared_ptr<LoSNode>
vp,
double observerOffset );
36 void setRemovePointsAfterTarget(
bool remove );
39 bool isValid()
override;
53 void removePointsAfterViewPoint();
54 void fixDistancesAngles();
55 void removePointsAfterTarget();
56 bool mRemovePointsAfterTarget =
false;
57 void setUpTargetLoSNode();
LoSNode nodeAt(std::size_t i) override
LoSNode at specific index.
Definition inverselos.cpp:84
int resultRow() override
Row number where the outcome of LoS analysis should be stored.
Definition inverselos.cpp:86
int numberOfNodes() override
Number of LoSNodes in this line-of-sight.
Definition inverselos.cpp:55
void findTargetPointIndex() override
Retrieve index of target point in this LoS.
Definition inverselos.cpp:126
void prepareForCalculation() override
Prepare line-of-sight for calculation. For example inverse LoS needs some preprocessing before being ...
Definition inverselos.cpp:61
int targetPointIndex() override
Index of target point in the line-of-sight.
Definition inverselos.cpp:57
void sort() override
Sort LoSNodes by distance from View point.
Definition inverselos.cpp:59
int resultCol() override
Column number where the outcome of LoS analysis should be stored.
Definition inverselos.cpp:88
Class that represents LoS for classic Viewshed calculation.
Definition los.h:25
std::shared_ptr< Point > vp()
View point for this line-of-sight.
Definition abstractlos.cpp:50
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 LoS for classic Viewshed calculation.
Definition los.h:25
Class that represents important point for viewshed - view point, or inverse viewshed - target point....
Definition point.h:21