// // Created by 30453 on 2024/4/1. // #ifndef LAMPCAE_POINTCLOUDDATAEXCHANGE_H #define LAMPCAE_POINTCLOUDDATAEXCHANGE_H #include "MeshThreadBase.h" #include #include // Point Cloud Library #include #include #include #include // TicToc #include #include #include #include #include #include #include #include #include #include #include #include #include //随机数 #include #include #include // TicToc #include #include #include #include #include #include #include #include #include #include #include #include #include #include // 4PCS算法 #include //K4PCS算法头文件 #include #include #include #include #include //贪婪投影三角化算法类定义的头文件 #include //移动立方体 #include #include //MLS #include //泊松重建 #include #include #include #include #include #include // TicToc #include // 体素滤波 #include // 体素滤波 #include #include #include #include #include #include #include //随机参数估计方法 #include //模型定义 #include //RANSAC分割 #include #include #include //rand()头文件 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //可视化相关头文件 #include #include #include #include #include #include #include #include // Boost #include // Visualization Toolkit (VTK) #include namespace MeshData { class MeshData; class MESHDATAEXCHANGEPLUGINAPI PointClouddataExchange : public MeshThreadBase { public: PointClouddataExchange(const QString &fileName, MeshOperation operation, GUI::MainWindow *mw, int modelId = -1); ~PointClouddataExchange()=default; void run() ; bool read(); bool write(); private: vtkDataSet* readPCD(); vtkDataSet* readPLY(); vtkDataSet* readXYZ(); bool writePCD(); bool writePLY(); bool writeXYZ(); private: QString _fileName; MeshData* _meshData{}; MeshOperation _operation; int _modelId; }; } // namespace MeshData #endif // LAMPCAE_POINTCLOUDDATAEXCHANGE_H