62 lines
1.4 KiB
C++
Executable File
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
|
|
|