/** * @RDE_HEADER@ * Interface of TerrainProfile * $Id$ * $HeadURL$ * $Author$ */ #pragma once // Own #include "situation_map_types.h" #include "terrain_profile_parameter.h" #include // Qt #include #include #include //---------------------------------------------------------------------------- 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> &)> &finishedCallback) = 0; virtual void setTerrainProfileDialog(long id, QPointer &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