/** * @RDE_HEADER@ * ViewshedAnalysis * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "viewshed_base.h" #include // forward: namespace Esri { namespace ArcGISRuntime { class AnalysisOverlay; class AnalysisOverlayListModel; class LocationViewshed; class SceneGraphicsView; } } //---------------------------------------------------------------------------- namespace SituationMap { class ViewshedAnalysis : public ViewshedBase { Q_OBJECT public: explicit ViewshedAnalysis(Esri::ArcGISRuntime::SceneGraphicsView *sceneGraphicsView , QObject *parent = nullptr); virtual ~ViewshedAnalysis(); bool execute(const QPointF &viewshedPoint_map_degree, double outerRadius, double observerOffset) override; protected slots: void onErrorOccured(const Esri::ArcGISRuntime::Error &error); private: Esri::ArcGISRuntime::AnalysisOverlayListModel *m_analysisOverlayModel; Esri::ArcGISRuntime::AnalysisOverlay *m_analysisOverlay; QVector m_viewsheds; LOGGER_T m_logger; }; } // namespace SituationMap