79 lines
1.8 KiB
C++
Executable File
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
|
|
|