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

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