/** * @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 components); void customContextMenuRequestedSlot(const QPoint& point); private: GUI::MainWindow* _mw; DialogSelectComponents* _selectdlg; QList _components; private: Ui::DialogPCLRadiusOutlierRemoval* _ui; }; } // namespace MainWidget #endif // LAMPCAE_DIALOGPCLRADIUSOUTLIERREMOVAL_H