ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
dense_reconstruction_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 "mvs/fusion.h"
14 #include "ui/image_viewer_widget.h"
15 #include "ui/options_widget.h"
17 #include "util/option_manager.h"
18 
19 namespace colmap {
20 
21 class MainWindow;
22 
23 class DenseReconstructionOptionsWidget : public QWidget {
24 public:
25  DenseReconstructionOptionsWidget(QWidget* parent, OptionManager* options);
26 };
27 
28 class DenseReconstructionWidget : public QWidget {
29 public:
30  DenseReconstructionWidget(MainWindow* main_window, OptionManager* options);
31 
32  void Show(Reconstruction* reconstruction);
33 
34 private:
35  void showEvent(QShowEvent* event);
36 
37  void Undistort();
38  void Stereo();
39  void Fusion();
40  void PoissonMeshing();
41  void DelaunayMeshing();
42  void Texturing();
43 
44  void SelectWorkspacePath();
45  std::string GetWorkspacePath();
46  void RefreshWorkspace();
47 
48  void WriteFusedPoints();
49  void ShowMeshingInfo();
50 
51  QWidget* GenerateTableButtonWidget(const std::string& image_name,
52  const std::string& type);
53 
54  MainWindow* main_window_;
55  OptionManager* options_;
56  Reconstruction* reconstruction_;
57  ThreadControlWidget* thread_control_widget_;
58  DenseReconstructionOptionsWidget* options_widget_;
59  ImageViewerWidget* image_viewer_widget_;
60  QLineEdit* workspace_path_text_;
61  QTableWidget* table_widget_;
62  QPushButton* undistortion_button_;
63  QPushButton* stereo_button_;
64  QPushButton* fusion_button_;
65  QPushButton* poisson_meshing_button_;
66  QPushButton* delaunay_meshing_button_;
67  QPushButton* texturing_button_;
68  QAction* refresh_workspace_action_;
69  QAction* write_fused_points_action_;
70  QAction* show_meshing_info_action_;
71 
72  bool photometric_done_;
73  bool geometric_done_;
74 
75  std::string images_path_;
76  std::string depth_maps_path_;
77  std::string normal_maps_path_;
78 
79  std::vector<PlyPoint> fused_points_;
80  std::vector<std::vector<int>> fused_points_visibility_;
81 };
82 
83 } // namespace colmap
MouseEvent event
char type
DenseReconstructionOptionsWidget(QWidget *parent, OptionManager *options)
DenseReconstructionWidget(MainWindow *main_window, OptionManager *options)
void Show(Reconstruction *reconstruction)