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

62 lines
1.4 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Interface of TerrainProfile
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
// Own
#include "situation_map_types.h"
#include "terrain_profile_parameter.h"
#include <situation_map_export.h>
// Qt
#include <QString>
#include <QPointF>
#include <functional>
//----------------------------------------------------------------------------
namespace SituationMap
{
class TerrainProfileDialog;
/**
* @brief The TerrainProfile class creating a TerrainProfile.
*/
class SITUATIONMAP_EXPORT TerrainProfile
{
public:
TerrainProfile() = default; ///< Contructor
virtual ~TerrainProfile() = default; ///< Destructor
TerrainProfile(const TerrainProfile &other) = delete;
TerrainProfile &operator=(TerrainProfile &other) = delete;
/**
* @brief setFinishedCallback to display the result if calculation is finished
* @param finishedCallback
*/
virtual void setFinishedCallback(const std::function< bool(long id, const QVector<QPair<QPointF, double>> &)> &finishedCallback) = 0;
virtual void setTerrainProfileDialog(long id, QPointer<SituationMap::TerrainProfileDialog> &terrainProfileDialog) = 0;
virtual bool create() = 0; // will start a rubberband
virtual long create(const TerrainProfileParameter &terrainProfileParameter) = 0;
virtual void remove(long terrainProfileId = -1) = 0;
};
} // namespace SituationMap