Visualization 2 - Lab Course
 All Classes Functions Enumerations Enumerator
vis2.hpp
1 #ifndef VIS2_H
2 #define VIS2_H
3 
4 #include "TransferWidget.hpp"
5 #include "renderwindow.h"
6 
7  class QAction;
8  class QDialogButtonBox;
9  class QGroupBox;
10  class QLabel;
11  class QLineEdit;
12  class QMenu;
13  class QMenuBar;
14  class QPushButton;
15  class QTextEdit;
16  class QRadioButton;
17  class QFileDialog;
18  class QSlider;
19 
27 class Vis2 : public QWidget
28 {
29  Q_OBJECT
30 
31 public:
37  Vis2(QWidget *parent = 0);
38 
39 private:
44  void createMenu();
48  void createGLGroupBox();
53  void createFileGroupBox();
57  void createTransferGroupBox();
58 
63  void createSettingsTabWidget();
67  void createSliceSettingsTab();
71  void createVolumeSettingsTab();
72 
73  QMenuBar *menuBar;
74 
75  QGroupBox *glGroupBox;
76  QGroupBox *fileGroupBox;
77  QGroupBox *transferGroupBox;
78 
79  QTabWidget *settingsTabWidget;
80  QWidget *sliceSettingsTab;
81  QWidget *volumeSettingsTab;
82 
83  QMenu *fileMenu;
84  QAction *exitAction;
85 
86  // slice settings
87  QRadioButton *zRadioBtn;
88  QRadioButton *yRadioBtn;
89  QRadioButton *xRadioBtn;
90  QSlider *sliceSlider;
91 
92  // volume settings
93  QCheckBox *lightCheckBox;
94  QCheckBox *perspProjCheckBox;
95  QComboBox *modeBox;
96  QDoubleSpinBox *stepsizeSpinBox;
97  QRadioButton *f2bRadioButton;
98  QRadioButton *b2fRadioButton;
99  QSlider *xPlaneSlider;
100  QSlider *yPlaneSlider;
101  QSlider *zPlaneSlider;
102  QPushButton *resetButton;
103  QPushButton *calculateDepthEnergyButton;
104  QCheckBox *showCannyEdgesCheckBox;
105  QCheckBox *showJunctionsCheckBox;
106  QCheckBox *showXJunctionsCheckBox;
107  QCheckBox *useBlurredTFCheckBox;
108  QLabel *depthOrderingLabel;
109 
110  // transfer function
111  TransferWidget *tWidget;
112 
113  // file loading
114  QLineEdit *volumeFileLocation;
115  QPushButton *volumeFileOpenBtn;
116  QAction *volumeFileOpenAct;
117  QLineEdit *projFileLocation;
118  QPushButton *projFileOpenBtn;
119  QPushButton *projFileSaveBtn;
120  QCheckBox *projTransferOnly;
121  QPushButton *screenshotSaveBtn;
122  QAction *projFileOpenAct;
123 
124  RenderWindow renderWindow;
125 
126  // transfer function
127 
128 public slots:
134  void changeSliderRange(int min, int max);
139  void resetSettings();
144  void updateDepthOrder(float depthOrder);
145 
146 private slots:
150  void openVolume();
155  void openProject();
159  void saveProject();
163  void saveScreenshot();
167  void directionChanged(bool);
171  void transferChanged();
172 
173 signals:
177  void directionChangedTo(int);
178 };
179 
180 #endif // Vis2_H