Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/Map/viewshed_parameter.h
T
2026-08-13 18:33:10 +02:00

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