/** * @RDE_HEADER@ * Interface-Implementation of FunctionalArea * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "abstract_multi_point_map_object_impl.h" #include "basic_path_object_impl.h" #include // Interface // Qt #include //---------------------------------------------------------------------------- namespace SituationMap { // forward: /** * @brief The SoundAreaImpl class displays a sound area and an image. * * A class instance consists of the following logical elements: * - mainGraphicalObject (GraphicalObjectPath displaying the main techn. Appearance) * - mainGraphicalObjectText (displaying the text/name) */ // inherent 'public', to get that implementation // inherent 'public virtual' to get that interface class SITUATIONMAPOBJECTS_EXPORT SoundAreaImpl : public BasicPathObjectImpl, public virtual SoundArea { using BaseClass = BasicPathObjectImpl; template friend class GenericObjectFactory; protected: explicit SoundAreaImpl(const QString &debugInfo = QString()); virtual ~SoundAreaImpl(); public: SoundAreaImpl(const SoundAreaImpl &other) = delete; SoundAreaImpl &operator=(SoundAreaImpl &other) = delete; // void reRenderSymbol() override; /*! \name Marker / Point symbol*/ //@{ Point3D markerOrigin() const override; void setMarkerOrigin(const Point3D &origin) override; const MarkerData &markerData() const override; void setMarkerData(const MarkerData &markerData) override; //@} QImage previewImageTypical() const override; QImage previewImageSpecific() const override; protected: bool updateViewImpl() override; bool updateViewImplMarkerData(); friend class MapImpl; bool init(MapImpl *mapImpl, const QString &logicalLayerName) override; // internal/admin private: // logical OriginTranslated m_markerOrigin; SimpleValue m_markerData; GraphicalObjectPictureMarker *m_pictureMarker{nullptr}; LOGGER_T m_logger; ///< Interface of the Logging-Facility }; } // namespace SituationMap