/** * @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 m_angleDegree = 0; SimpleValue 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