56 lines
1.7 KiB
C++
Executable File
56 lines
1.7 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* ViewshedParameter
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Own
|
|
#include <situation_map_export.h>
|
|
|
|
#include <MathUtils/math_const.h>
|
|
|
|
// Qt
|
|
#include <QString>
|
|
#include <QPointF>
|
|
|
|
class QJsonObject;
|
|
|
|
//----------------------------------------------------------------------------
|
|
namespace SituationMap
|
|
{
|
|
|
|
/*!
|
|
* \brief Define parameter for viewshed.
|
|
*/
|
|
class ViewshedParameter
|
|
{
|
|
public:
|
|
explicit ViewshedParameter() = default;
|
|
|
|
QPointF viewshedOrigin_latLon; // geo coordinates in rad
|
|
double innerRadius = 10.0; // inner radius for use with sight fan only
|
|
double outerRadius = 100.0; // radius for both sight fan and ESRI viewshed
|
|
double observerHeight = 2.0; // observer height for both sight fan and ESRI viewshed
|
|
double targetHeight = 2.0; // object or target height for use with sight fan
|
|
double startAngle = 0.0; // start angle of sight fan in rad
|
|
double dAngle = 2.0 / 180.0*MathConst::pi; // angle of single sight fan beam in rad
|
|
unsigned int noBeams = 180; // count of sight fan beams
|
|
double alpha = 1.0; // transparency [0..1];
|
|
|
|
QString toString() const;
|
|
|
|
// static MapWidgetSettings read(const QJsonObject &json);
|
|
// QJsonObject toJsonObject() const;
|
|
};
|
|
|
|
|
|
SITUATIONMAP_EXPORT std::ostream &operator<< (std::ostream &stream,
|
|
const SituationMap::ViewshedParameter &value);
|
|
|
|
} // namespace SituationMap
|
|
|