/** * @RDE_HEADER@ * Interface of BuildingOutline * $Id$ * $HeadURL$ * $Author$ */ #pragma once #include "abstract_multi_point_map_object.h" // Qt #include //---------------------------------------------------------------------------- namespace SituationMap { /** * @brief The BuildingOutline class supports BuildingOutline. */ class BuildingOutline : public virtual AbstractMultiPointMapObject { using BaseClass = AbstractMultiPointMapObject; public: /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Don't use "= default" because of bug in VS2015 JT 2016/11/7 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ BuildingOutline() : AbstractMultiPointMapObject() {;} ///< Contructor virtual ~BuildingOutline() = default; ///< Destructor virtual LineStyle lineStyle() const = 0; virtual LineStyle &rLineStyle() = 0; virtual void setLineStyle(const LineStyle &lineStyle) = 0; virtual FillStyle fillStyle() const = 0; virtual FillStyle &rFillStyle() = 0; virtual void setFillStyle(const FillStyle &FillStyle) = 0; virtual void setMarker(const Point3D &markerOrigin) = 0; // The 3D model is using the markerOrigin struct ModelSceneSymbolData { QUrl url; float heading{0.0}; // degree, clockwise, 0 is north/12 float scale{1.0}; }; virtual ModelSceneSymbolData getModelSceneSymbolData() = 0; virtual void setModelSceneSymbolData(const ModelSceneSymbolData &modelSceneSymbolData) = 0; }; } // namespace SituationMap