ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
PointViewerWidget.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <QtCore>
11 #include <QtWidgets>
12 
13 #include "base/reconstruction.h"
14 #include "util/option_manager.h"
15 
16 namespace cloudViewer {
17 
18 class ModelViewerWidget;
20 
21 class PointViewerWidget : public QWidget {
22 public:
23  PointViewerWidget(QWidget* parent,
24  ModelViewerWidget* model_viewer_widget,
25  OptionManager* option);
26 
27  void Show(const colmap::point3D_t point3D_id);
28 
29 private:
30  void closeEvent(QCloseEvent* event);
31 
32  void ResizeInfoTable();
33  void ClearLocations();
34  void UpdateImages();
35  void ZoomIn();
36  void ZoomOut();
37  void Delete();
38 
39  ModelViewerWidget* model_viewer_widget_;
40 
41  OptionManager* options_;
42 
43  QPushButton* delete_button_;
44 
45  colmap::point3D_t point3D_id_;
46 
47  QTableWidget* info_table_;
48  QTableWidgetItem* xyz_item_;
49  QTableWidgetItem* rgb_item_;
50  QTableWidgetItem* error_item_;
51 
52  QTableWidget* location_table_;
53  std::vector<QPixmap> location_pixmaps_;
54  std::vector<QLabel*> location_labels_;
55  std::vector<colmap::image_t> image_ids_;
56  std::vector<double> reproj_errors_;
57  std::vector<std::string> image_names_;
58 
59  QPushButton* zoom_in_button_;
60  QPushButton* zoom_out_button_;
61 
62  double zoom_;
63 };
64 
65 } // namespace cloudViewer
MouseEvent event
void Show(const colmap::point3D_t point3D_id)
PointViewerWidget(QWidget *parent, ModelViewerWidget *model_viewer_widget, OptionManager *option)
Generic file read and write utility for python interface.
colmap::OptionManager OptionManager