88 lines
1.7 KiB
C++
Executable File
88 lines
1.7 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* GraphicalObjectRange
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
// Own
|
|
#include "graphical_object_ellipse.h"
|
|
|
|
|
|
// Esri
|
|
|
|
|
|
// Qt
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
namespace SituationMap
|
|
{
|
|
|
|
|
|
class SITUATIONMAP_EXPORT GraphicalObjectRange : public GraphicalObjectEllipse
|
|
{
|
|
|
|
using BaseClass = GraphicalObjectEllipse;
|
|
|
|
public:
|
|
GraphicalObjectRange(const Esri::ArcGISRuntime::GeoView *geoView
|
|
, Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer
|
|
, const QString &debugInfo
|
|
, const UniqueMapId &uniqueMapId);
|
|
|
|
~GraphicalObjectRange();
|
|
|
|
int range() const;
|
|
float angle() const;
|
|
|
|
void setRange(int range, float angleDegree);
|
|
|
|
|
|
|
|
protected:
|
|
// Internal/Admin
|
|
// bool create() override;
|
|
|
|
bool changed() override
|
|
{
|
|
return BaseClass::changed()
|
|
|| m_angleDegree.changed()
|
|
|| m_range.changed();
|
|
}
|
|
|
|
void resetChanged() override
|
|
{
|
|
BaseClass::resetChanged();
|
|
m_angleDegree.reset();
|
|
m_range.reset();
|
|
}
|
|
|
|
|
|
bool updateViewImpl() override;
|
|
|
|
|
|
bool createEllipse(Esri::ArcGISRuntime::Polygon &ellipse) override;
|
|
|
|
|
|
private:
|
|
SimpleValue<float> m_angleDegree = 0;
|
|
SimpleValue<int> m_range = 0;
|
|
LOGGER_T m_logger; ///< Interface of the Logging-Facility
|
|
|
|
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// output operator:
|
|
//-----------------------------------------------------------------------------
|
|
std::ostream &operator<< (std::ostream &stream,
|
|
const GraphicalObjectRange &value);
|
|
|
|
|
|
} // namespace SituationMap
|
|
|