/** * @file DEM2PointCloud.h * @brief None * @author 陈增辉 (3045316072@qq.com) * @version 2.5.0 * @date 24-6-4 * @copyright Copyright (c) Since 2024 中科卫星应用研究院 All rights reserved. */ #ifndef LAMPCAE_DEM2POINTCLOUD_H #define LAMPCAE_DEM2POINTCLOUD_H #include "RasterToolPluginAPI.h" #include "ModuleBase/ThreadTask.h" #include #include #include "MainWindow/MainWindow.h" #include "ModuleBase/ThreadTask.h" #include "RasterDataClass.h" namespace LAMPToolBox { QT_BEGIN_NAMESPACE namespace Ui { class DEM2PointCloud; } QT_END_NAMESPACE class DEM2PointCloudAlgThread : public ModuleBase::ThreadTask{ public: DEM2PointCloudAlgThread(const QString &inDEMPath,const QString& _outPlyPath,GUI::MainWindow *mw ); ~DEM2PointCloudAlgThread(); public: virtual void run(); void defaultMeshFinished(); void setThreadRunState(bool); public: bool DEM2PointCloudAlg(); bool DEM2PointCloudAlg_Geo(); bool DEM2PointCloudAlg_Pro(); private: bool _success{false}; QString _inDEMPath; QString _outPlyPath; }; class DEM2PointCloud : public QDialog { Q_OBJECT public: explicit DEM2PointCloud(GUI::MainWindow* mw = nullptr); ~DEM2PointCloud() override; public slots: void on_push_selectDEM_clicked(); void on_push_selectPointCloud_clicked(); virtual void accept(); private: Ui::DEM2PointCloud* ui; GUI::MainWindow* _mw; QString _DEMPath; QString _PclPath; }; } // namespace LAMPToolBox #endif // LAMPCAE_DEM2POINTCLOUD_H