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

79 lines
1.8 KiB
C++
Executable File

/**
* @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