60 lines
1.4 KiB
C
60 lines
1.4 KiB
C
|
/**
|
||
|
* @file DialogPCLRadiusOutlierRemoval.h
|
||
|
* @brief 点云半径滤波
|
||
|
* @author 陈增辉 (3045316072@qq.com)
|
||
|
* @version 2.5.0
|
||
|
* @date 2024/4/5
|
||
|
* @copyright Copyright (c) Since 2024 中科卫星应用研究院 All rights reserved.
|
||
|
*/
|
||
|
|
||
|
#ifndef LAMPCAE_DIALOGPCLRADIUSOUTLIERREMOVAL_H
|
||
|
#define LAMPCAE_DIALOGPCLRADIUSOUTLIERREMOVAL_H
|
||
|
|
||
|
#include "mainWidgetsAPI.h"
|
||
|
#include "SelfDefObject/QFDialog.h"
|
||
|
#include "DialogVTKTransform.h"
|
||
|
|
||
|
class QListWidgetItem;
|
||
|
|
||
|
namespace Ui
|
||
|
{
|
||
|
class DialogPCLRadiusOutlierRemoval;
|
||
|
}
|
||
|
|
||
|
namespace MeshData
|
||
|
{
|
||
|
class MeshSet;
|
||
|
}
|
||
|
namespace MainWidget {
|
||
|
class DialogSelectComponents;
|
||
|
|
||
|
class MAINWIDGETSAPI DialogPCLRadiusOutlierRemoval : public QFDialog {
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
DialogPCLRadiusOutlierRemoval(GUI::MainWindow* parent);
|
||
|
~DialogPCLRadiusOutlierRemoval();
|
||
|
|
||
|
private:
|
||
|
void removeCurrentItem(QListWidgetItem* curItem);
|
||
|
signals: // 这里采用信号来直接与 主界面通信,避免参数浪费
|
||
|
void excuteAlg(QString componentIds,double RadiusSearch,double MinNeighborsInRadius);
|
||
|
private slots:
|
||
|
|
||
|
virtual void accept();
|
||
|
void selectedComponentsSlot(QList<MeshData::MeshSet*> components);
|
||
|
void customContextMenuRequestedSlot(const QPoint& point);
|
||
|
|
||
|
private:
|
||
|
GUI::MainWindow* _mw;
|
||
|
DialogSelectComponents* _selectdlg;
|
||
|
QList<MeshData::MeshSet*> _components;
|
||
|
|
||
|
|
||
|
private:
|
||
|
Ui::DialogPCLRadiusOutlierRemoval* _ui;
|
||
|
};
|
||
|
} // namespace MainWidget
|
||
|
|
||
|
#endif // LAMPCAE_DIALOGPCLRADIUSOUTLIERREMOVAL_H
|