ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
point_viewer_widget.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 colmap {
17 
18 class ModelViewerWidget;
19 
20 class PointViewerWidget : public QWidget {
21 public:
22  PointViewerWidget(QWidget* parent,
23  ModelViewerWidget* model_viewer_widget,
24  OptionManager* option);
25 
26  void Show(const point3D_t point3D_id);
27 
28 private:
29  void closeEvent(QCloseEvent* event);
30 
31  void ResizeInfoTable();
32  void ClearLocations();
33  void UpdateImages();
34  void ZoomIn();
35  void ZoomOut();
36  void Delete();
37 
38  ModelViewerWidget* model_viewer_widget_;
39 
40  OptionManager* options_;
41 
42  QPushButton* delete_button_;
43 
44  point3D_t point3D_id_;
45 
46  QTableWidget* info_table_;
47  QTableWidgetItem* xyz_item_;
48  QTableWidgetItem* rgb_item_;
49  QTableWidgetItem* error_item_;
50 
51  QTableWidget* location_table_;
52  std::vector<QPixmap> location_pixmaps_;
53  std::vector<QLabel*> location_labels_;
54  std::vector<image_t> image_ids_;
55  std::vector<double> reproj_errors_;
56  std::vector<std::string> image_names_;
57 
58  QPushButton* zoom_in_button_;
59  QPushButton* zoom_out_button_;
60 
61  double zoom_;
62 };
63 
64 } // namespace colmap
MouseEvent event
PointViewerWidget(QWidget *parent, ModelViewerWidget *model_viewer_widget, OptionManager *option)
void Show(const point3D_t point3D_id)
uint64_t point3D_t
Definition: types.h:72