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