/** * @RDE_HEADER@ * GraphicalObjectPath * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "abstract_graphical_object.h" // Esri // Qt // forward: //---------------------------------------------------------------------------- namespace SituationMap { enum class GraphicalObjectPathType {Polyline, Polygon}; QLatin1String toString(const GraphicalObjectPathType subType); class SITUATIONMAP_EXPORT GraphicalObjectPath : public AbstractGraphicalObject { using BaseClass = AbstractGraphicalObject; public: explicit GraphicalObjectPath(const GraphicalObjectPathType type , const Esri::ArcGISRuntime::GeoView *geoView , Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer , const QString &debugInfo , const UniqueMapId &uniqueMapId); ~GraphicalObjectPath(); GraphicalObjectPathType pathType() const { return m_pathType; } double maxSegmentLength() const; void setMaxSegmentLength(double maxSegmentLength); protected: // Internal/Admin bool create() override; bool updateViewImpl() override; // logical const GraphicalObjectPathType m_pathType; double m_maxSegmentLength{-1}; private: LOGGER_T m_logger; ///< Interface of the Logging-Facility }; //----------------------------------------------------------------------------- // output operator: //----------------------------------------------------------------------------- SITUATIONMAP_EXPORT std::ostream &operator<< (std::ostream &stream, const GraphicalObjectPathType &value); } // namespace SituationMap