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

59 lines
1.7 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface of BuildingOutline
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include "abstract_multi_point_map_object.h"
// Qt
#include <QUrl>
//----------------------------------------------------------------------------
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