/** * @file PointCloudReMesh.h * @brief 基于点云的网格表面重建 * @author 陈增辉 (3045316072@qq.com) * @version 2.5.0 * @date 2024/4/4 * @copyright Copyright (c) Since 2024 中科卫星应用研究院 All rights reserved. */ #ifndef LAMPCAE_POINTCLOUDMESH_H #define LAMPCAE_POINTCLOUDMESH_H // qt 相关头文件 #include // 常用pcl 头文件库 #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 #include "PointCloudOperatorAPI.h" namespace PointCloudOperator { class POINTCLOUDOPERATORAPI PointCloudMeshOperator:public QObject { Q_OBJECT public: PointCloudMeshOperator(QObject* parent=nullptr); ~PointCloudMeshOperator()=default; static bool GP(vtkSmartPointer& inpolygon, vtkSmartPointer& polydata, double SearchRadius, double Mu, int MaximumNearestNeighbors, double MaximumSurfaceAngle, double MaximumAngle, double MinimumAngle); static bool PoissonMesh(vtkSmartPointer& inpolygon, vtkSmartPointer& polydata, bool Confidence, size_t Degree, size_t Depth, size_t IsoDivide, bool Manifold, bool OutputPolygons, double SamplesPerNode, double Scale, size_t SolverDivide ); static bool vtkPointSampling(vtkSmartPointer surfaceMesh,vtkSmartPointer uniformPointCloud,size_t pointCount,double radius); }; } // namespace PointCloudOperator #endif // LAMPCAE_POINTCLOUDMESH_H