Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+91
@@ -0,0 +1,91 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Interface-Implementation of Viewshed
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// Own
|
||||
#include <Map/viewshed.h> // Interface
|
||||
#include "map_impl.h"
|
||||
#include "Rubberbands/rubberband_ellipse.h"
|
||||
#include "Rubberbands/rubberband_multi_point_feature_3d.h"
|
||||
|
||||
|
||||
// Qt
|
||||
#include <QPointF>
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
namespace SituationMap
|
||||
{
|
||||
|
||||
class ViewshedBase;
|
||||
|
||||
class ViewshedImpl : public /*virtual*/ Viewshed
|
||||
{
|
||||
using BaseClass = Viewshed;
|
||||
|
||||
public:
|
||||
|
||||
explicit ViewshedImpl(SituationMap::MapImpl *mapImpl);
|
||||
virtual ~ViewshedImpl();
|
||||
|
||||
ViewshedImpl(const ViewshedImpl &other) = delete;
|
||||
ViewshedImpl &operator=(ViewshedImpl &other) = delete;
|
||||
|
||||
void setViewshedUrl(const QString &viewshedServiceUrl) override;
|
||||
|
||||
bool isReady();
|
||||
|
||||
bool create() override;
|
||||
bool create(double alpha, double innerRadius, double observerHeight, double targetHeight, double beamAngle) override;
|
||||
long create(const ViewshedParameter &viewshedParameter) override;
|
||||
|
||||
bool modify(long viewshedId, double alpha, double innerRadius, double observerHeight, double targetHeight, double beamAngle) override;
|
||||
|
||||
void remove(long viewshedId = -1) override;
|
||||
|
||||
ViewshedParameter getViewshedParameter(long viewshedId = -1, bool *ok = nullptr) const override;
|
||||
|
||||
|
||||
private Q_SLOTS:
|
||||
|
||||
void onRbAbort(RB::RubberbandBase *rbnd);
|
||||
void onRb2DApply(RB::RubberbandBase *rbnd);
|
||||
void onRb3DApply(RB::RubberbandBase *rbnd);
|
||||
|
||||
void onSightFanRb2DApply(RB::RubberbandBase *rbnd);
|
||||
void onSightFanRb3DApply(RB::RubberbandBase *rbnd);
|
||||
|
||||
private:
|
||||
|
||||
ViewshedBase *create_viewshedGP(const ViewshedParameter &viewshedParameter);
|
||||
ViewshedBase *create_viewshedAnalysis(const ViewshedParameter &viewshedParameter);
|
||||
|
||||
void init();
|
||||
|
||||
|
||||
RB::RubberbandEllipse *createRubberband2D();
|
||||
RB::RubberbandMultiPointFeature3D *createRubberband3D();
|
||||
|
||||
RB::RubberbandEllipse *createSightFanRubberband2D();
|
||||
RB::RubberbandMultiPointFeature3D *createSightFanRubberband3D();
|
||||
|
||||
LOGGER_T m_logger; ///< Interface of the Logging-Facility
|
||||
|
||||
class Private;
|
||||
/**
|
||||
* The private d->pointer to not break BC when changing internals of this class
|
||||
*/
|
||||
Private *d = nullptr;
|
||||
|
||||
}; // ViewshedImpl
|
||||
|
||||
|
||||
|
||||
} // namespace SituationMap
|
||||
|
||||
Reference in new issue
Block a user