ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
RenderOptionsWidget.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 "ModelViewerWidget.h"
14 #include "sfm/incremental_mapper.h"
15 #include "ui/colormaps.h"
16 #include "ui/options_widget.h"
17 #include "util/option_manager.h"
18 
19 namespace cloudViewer {
20 
23 
24 class RenderOptionsWidget : public colmap::OptionsWidget {
25 public:
26  RenderOptionsWidget(QWidget* parent,
27  OptionManager* options,
28  ModelViewerWidget* model_viewer_widget);
29 
30  size_t counter;
32 
34 
35 private:
36  void closeEvent(QCloseEvent* event);
37 
38  void Apply();
39  void ApplyProjection();
40  void ApplyPointColormap();
41  void ApplyImageColormap();
42  void ApplyBackgroundColor();
43 
44  void SelectColor(const std::string& title, Eigen::Vector4f* color);
45  void SelectPointColormap(const int idx);
46  void SelectImageColormap(const int idx);
47 
48  void IncreasePointSize();
49  void DecreasePointSize();
50  void IncreaseCameraSize();
51  void DecreaseCameraSize();
52 
53  void ImageColormapNameFilterAddWord();
54  void ImageColormapNameFilterClearWords();
55 
56  OptionManager* options_;
57  ModelViewerWidget* model_viewer_widget_;
58 
59  Eigen::Vector4f background_color_;
60 
61  QComboBox* projection_cb_;
62 
63  QComboBox* point3D_colormap_cb_;
64 
65  double point3D_colormap_scale_;
66  double point3D_colormap_min_q_;
67  double point3D_colormap_max_q_;
68 
69  QComboBox* image_colormap_cb_;
70  QPushButton* select_image_plane_color_;
71  QPushButton* select_image_frame_color_;
72  QHBoxLayout* image_colormap_name_filter_layout_;
73  Eigen::Vector4f image_plane_color_;
74  Eigen::Vector4f image_frame_color_;
75  ImageColormapNameFilter image_colormap_name_filter_;
76 };
77 
78 } // namespace cloudViewer
MouseEvent event
math::float4 color
RenderOptionsWidget(QWidget *parent, OptionManager *options, ModelViewerWidget *model_viewer_widget)
Generic file read and write utility for python interface.
colmap::ImageColormapNameFilter ImageColormapNameFilter
colmap::OptionManager OptionManager