|
Viewshed 6.1.0
A C++ library for calculation of viewshed, inverse viewshed and visibility indices for both of those analyses.
|
Abstract class that represent line-of-sight (LoS). Consists of LoSNodes, view point and target point (both with potential offset from the surface). More...
#include <abstractlos.h>


Public Member Functions | |
| void | setViewPoint (std::shared_ptr< Point > vp) |
| Set the View Point object directly from Point with offset specified as part of this object. | |
| void | setViewPoint (std::shared_ptr< LoSNode > poi, double observerOffset=0) |
| Set the View Point object from LoSNode point, specifying offset of the observer. | |
| void | setTargetPoint (std::shared_ptr< Point > tp) |
| Set the Target Point object directly from Point with offset specified as part of this object. | |
| void | setTargetPoint (std::shared_ptr< LoSNode > poi, double targetOffset=0) |
| Set the Target Point object from LoSNode point, specifying offset of the target. | |
| void | setAngle (double angle) |
| Set the horizontal angle for extracting elevations, distances and gradients from line-of-sight. | |
| virtual void | prepareForCalculation ()=0 |
| Prepare line-of-sight for calculation. For example inverse LoS needs some preprocessing before being able to be analysed. | |
| double | gradient (std::size_t i) |
| Extract gradient value for line-of-sight LoSNode at position i. | |
| double | distance (std::size_t i) |
| Extract distance for line-of-sight LoSNode at position i. | |
| double | elevation (std::size_t i) |
| Extract elevation for line-of-sight LoSNode at position i. | |
| virtual bool | isValid ()=0 |
| virtual int | numberOfNodes ()=0 |
| Number of LoSNodes in this line-of-sight. | |
| virtual int | targetPointIndex ()=0 |
| Index of target point in the line-of-sight. | |
| virtual int | resultRow ()=0 |
| Row number where the outcome of LoS analysis should be stored. | |
| virtual int | resultCol ()=0 |
| Column number where the outcome of LoS analysis should be stored. | |
| virtual LoSNode | nodeAt (std::size_t i)=0 |
| LoSNode at specific index. | |
| double | horizontalAngle () |
| Horizontal angle for this line-of-sight. | |
| int | targetRow () |
| Row number for the target of LoS. | |
| int | targetCol () |
| Column number for the target of LoS. | |
| double | targetDistance () |
| Distance of target. | |
| double | targetGradient () |
| Gradient of target. | |
| double | targetElevation () |
| Elevation of target. | |
| std::shared_ptr< Point > | vp () |
| View point for this line-of-sight. | |
| void | applyCurvatureCorrections (bool apply, double refractionCoeff, double earthDiameter) |
| Specify curvature corrections settings. | |
| void | applyCurvatureCorrections (bool apply) |
| Set curvature corrections on/off. | |
| void | setRefractionCoeficient (double refractionCoeff) |
| Set the Refraction Coeficient for curvature corrections. | |
| void | setEarthDiameter (double earthDiameter) |
| Set the Earth Diameter for curvature corrections. | |
| int | targetIndex () |
| Get index of target point in the current LoS. | |
| double | viewPointElevation () |
| Surface elevation of viewpoint;. | |
| double | viewPointTotalElevation () |
| Surface elevation of viewpoint with offset. | |
| virtual void | setCurrentLoSNode (std::size_t i) |
| Set the Current LoS Node object. | |
| double | currentDistance () |
| Distance to current node. | |
| double | currentGradient () |
| Gradient to current node. | |
| double | currentElevation () |
| Elevation to current node. | |
Protected Member Functions | |
| virtual void | findTargetPointIndex ()=0 |
| Retrieve index of target point in this LoS. | |
| virtual void | sort ()=0 |
| Sort LoSNodes by distance from View point. | |
| double | curvatureCorrectionsFix (const double distance) |
| Elevation changes using currently set curvature corrections for specific distance. | |
Protected Attributes | |
| double | mAngleHorizontal = 0 |
| Horizontal angle between view point and target point. | |
| double | mPointDistance = 0 |
| Distance between observer and target point. | |
| std::shared_ptr< Point > | mVp = std::make_shared<Point>() |
| View point. | |
| std::shared_ptr< Point > | mTp = std::make_shared<Point>() |
| Target point. | |
| int | mTargetIndex = -1 |
| Index of target point. | |
| bool | mCurvatureCorrections = false |
| Use curvature corrections for this LoS. | |
| double | mEarthDiameter = EARTH_DIAMETER |
| Earth diameter for curvature corrections. | |
| double | mRefractionCoefficient = REFRACTION_COEFFICIENT |
| Refraction coefficient for curvature corrections. | |
| LoSNode | mCurrentLoSNode |
| Currently solved LoS Node. | |
Abstract class that represent line-of-sight (LoS). Consists of LoSNodes, view point and target point (both with potential offset from the surface).
|
inline |
Set curvature corrections on/off.
| apply |
|
inline |
Specify curvature corrections settings.
| apply | |
| refractionCoeff | |
| earthDiameter |
| double AbstractLoS::currentDistance | ( | ) |
| double AbstractLoS::currentElevation | ( | ) |
| double AbstractLoS::currentGradient | ( | ) |
|
protected |
Elevation changes using currently set curvature corrections for specific distance.
| distance |
| double AbstractLoS::distance | ( | std::size_t | i | ) |
| double AbstractLoS::elevation | ( | std::size_t | i | ) |
|
protectedpure virtual |
Retrieve index of target point in this LoS.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
| double AbstractLoS::gradient | ( | std::size_t | i | ) |
| double AbstractLoS::horizontalAngle | ( | ) |
Horizontal angle for this line-of-sight.
|
pure virtual |
LoSNode at specific index.
| i |
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
|
pure virtual |
Number of LoSNodes in this line-of-sight.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
|
pure virtual |
Prepare line-of-sight for calculation. For example inverse LoS needs some preprocessing before being able to be analysed.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
|
pure virtual |
Column number where the outcome of LoS analysis should be stored.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
|
pure virtual |
Row number where the outcome of LoS analysis should be stored.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
| void AbstractLoS::setAngle | ( | double | angle | ) |
Set the horizontal angle for extracting elevations, distances and gradients from line-of-sight.
| angle |
|
virtual |
Set the Current LoS Node object.
| i |
|
inline |
Set the Earth Diameter for curvature corrections.
| earthDiameter |
|
inline |
Set the Refraction Coeficient for curvature corrections.
| refractionCoeff |
| void AbstractLoS::setTargetPoint | ( | std::shared_ptr< LoSNode > | poi, |
| double | targetOffset = 0 ) |
| void AbstractLoS::setTargetPoint | ( | std::shared_ptr< Point > | tp | ) |
| void AbstractLoS::setViewPoint | ( | std::shared_ptr< LoSNode > | poi, |
| double | observerOffset = 0 ) |
| void AbstractLoS::setViewPoint | ( | std::shared_ptr< Point > | vp | ) |
|
protectedpure virtual |
Sort LoSNodes by distance from View point.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
| int AbstractLoS::targetCol | ( | ) |
Column number for the target of LoS.
| double AbstractLoS::targetDistance | ( | ) |
Distance of target.
| double AbstractLoS::targetElevation | ( | ) |
Elevation of target.
| double AbstractLoS::targetGradient | ( | ) |
Gradient of target.
|
inline |
Get index of target point in the current LoS.
|
pure virtual |
Index of target point in the line-of-sight.
Implemented in InverseLoS, LoS, viewshed::InverseLoS, and viewshed::LoS.
| int AbstractLoS::targetRow | ( | ) |
Row number for the target of LoS.
| double AbstractLoS::viewPointElevation | ( | ) |
Surface elevation of viewpoint;.
| double AbstractLoS::viewPointTotalElevation | ( | ) |
Surface elevation of viewpoint with offset.
| std::shared_ptr< Point > AbstractLoS::vp | ( | ) |
View point for this line-of-sight.