/
klischa
/
AstraScanner2
Обзор
Документация
Войти
/
klischa
/
AstraScanner2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/controllers/ViewerCoordinator.h
42 строки
1 KB
Arena Agent
refactor: move viewer coordination into controller
17 июн 2026, 12:09
17 июн 2026, 12:09
bb0f3ea
Код
Авторство
О чём код?
#ifndef VIEWERCOORDINATOR_H #define VIEWERCOORDINATOR_H #include <QObject> #include <QString> #include <memory> #include <pcl/point_cloud.h> #include <pcl/point_types.h> #include <pcl/PolygonMesh.h> #include <pcl/visualization/pcl_visualizer.h> class QVTKOpenGLNativeWidget; class ViewerCoordinator : public QObject { Q_OBJECT public: explicit ViewerCoordinator(QObject *parent = nullptr); void setupMainViewer(QVTKOpenGLNativeWidget *widget); void setupProcessingViewer(QVTKOpenGLNativeWidget *widget); void close(); void clearMainViewer(); void clearProcessingViewer(); void updateAccumulatedCloud(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud); void showLivePreviewCloud(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud); void showAccumulatedCloud(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud, bool removeMesh = false); void showMesh(const pcl::PolygonMesh &mesh, const QString &meshId = QStringLiteral("poisson_mesh")); void removeDisplayedMesh(); void updateProcessingCloud(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr &cloud); private: QVTKOpenGLNativeWidget *m_mainWidget = nullptr; QVTKOpenGLNativeWidget *m_processingWidget = nullptr; pcl::visualization::PCLVisualizer::Ptr m_mainViewer; std::unique_ptr<pcl::visualization::PCLVisualizer> m_processingViewer; QString m_meshViewerId; }; #endif // VIEWERCOORDINATOR_H