LAMPCAE/src/PluginRasterTool/DEM2PointCloud.h

72 lines
1.5 KiB
C++

/**
* @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 <QDialog>
#include <QString>
#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