VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRenderSettingsWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
15 #include <QtWidgets/QWidget>
16 
17 class QCheckBox;
18 class QVBoxLayout;
19 class QLabel;
20 class QComboBox;
21 class QSlider;
22 class QGroupBox;
23 class QRadioButton;
24 class QSpinBox;
25 class QPushButton;
26 
27 namespace makVrv
28 {
29 
30  class DtSliderSpinboxWidget;
31  class DtSliderDoubleSpinboxWidget;
32 
39  {
40  Q_OBJECT
41 
42  public:
43 
46  DtDe& de, QWidget* parent, Qt::WindowFlags flags = Qt::Widget);
47 
49  virtual ~DtRenderSettingsWidget();
50 
53  virtual void setWireframeEnabled(bool enabled);
54 
57  virtual void setPerformanceOverlayShown(unsigned int state);
58 
61  virtual void setImguiOverlayShown(bool shown);
62 
65  virtual void setChannelProjectionResizePolicy(
67 
70  virtual void setSymbolTransparency(int scale);
71 
74  virtual void setTerrainScalingEnabled(bool enabled);
75 
78  virtual void setTerrainScaleFactor(double scaleFactor);
79 
83  virtual void setTerrainScalingAllowed(bool allowed);
84 
87  virtual void setClearTrackHistoriesOnTerrainScaleChanged(bool clear);
88 
92  virtual void setUseAutofocus(bool useAutofocus);
93 
96  virtual void setFocalDepth(double focalDepth);
97 
100  virtual void setFocalRange(double focalRange);
101 
104  virtual void setWaterOnScreenSize(double size);
105 
109  virtual void setIndirectLodTransitionPercentage(float val);
110 
113  virtual void setCrepuscularRaysEnabled(bool state);
114 
116  virtual void setComponentVisualizationMode(int mode);
117 
121  virtual int addComponenetVisualizationEntry(QString entry);
122 
124  virtual void setDistanceUnitLabels(const DtUnicode& unitLabel);
125 
127  virtual void setDistanceDecimals(int decimals);
128 
130  virtual void setMaxFocalRange(float distance);
131 
133  virtual void setMaxFocalDepth(float distance);
134 
136  virtual void setAtcGlobalModelEnable(bool state);
137 
139  virtual void setAtcGlobalTerrainEnable(bool state);
140 
142  virtual void setAtcEnableDither(bool state);
143 
145  virtual void setHbaoRadius(float value) override;
147  virtual void setMaxHbaoRadius(float value) override;
149  virtual void setHbaoBias(float value) override;
151  virtual void setMaxHbaoBias(float value) override;
153  virtual void setHbaoExponent(float value) override;
155  virtual void setMaxHbaoExponent(float value) override;
157  virtual void setHbaoSmallScalar(float value) override;
159  virtual void setMaxHbaoSmallScalar(float value) override;
161  virtual void setHbaoLargeScalar(float value) override;
163  virtual void setMaxHbaoLargeScalar(float value) override;
165  virtual void setHbaoSettingsDecimals(int decimals) override;
166 
168  virtual void setHbaoDepthClampMode(int state) override;
169 
170 
171  protected slots:
172 
176  void on_reloadShaderButton_clicked();
177  void on_wireframeCheckChanged(int state);
178  void on_renderStatsChanged(int state);
179  void on_renderImguiChanged(int state);
180  void on_myChannelProjectionResizePolicyCombo_currentIndexChanged(int index);
181  void on_SymbolTransparencyChanged(int state);
182  void on_terrainScalingEnabledCheckChanged(int state);
183  void on_terrainScaleFactorSliderChanged(int val);
184  void on_ClearTrackHistoriesCheckChanged(int state);
185  void on_useAutofocusCheckChanged(int state);
186  void on_focalDepthSliderChanged(double val);
187  void on_focalRangeSliderChanged(double val);
188  void on_waterOnScreenSizeSliderChanged(double val);
189  void on_indirectLodTransitionPercentageChanged(double val);
190  void on_crepuscularRaysCheckChanged(int state);
191  void on_atcGlobalTerrainEnableCheckChanged(int state);
192  void on_atcGlobalModelEnableCheckChanged(int state);
193  void on_atcEnableDitherCheckChanged(int state);
194  void on_componentVisualizationCombo_currentIndexChanged(int selectedIndex);
195 
196  void on_hbaoRadiusSliderChanged(double val);
197  void on_hbaoBiasSliderChanged(double val);
198  void on_hbaoExponentSliderChanged(double val);
199  void on_hbaoSmallScalarSliderChanged(double val);
200  void on_hbaoLargeScalarSliderChanged(double val);
201  void on_hbaoDepthClampCombo_currentIndexChanged(int selectedIndex);
202 
203 
205 
206  protected:
207 
210  void setupGui();
211 
214  void connectToSignals();
215 
216  typedef struct widgetStr
217  {
218  QString label;
219  QString tooltip;
220  } WidgetStrings;
221 
222  typedef enum
223  {
224  MaterialComponentIndex = 0,
225  MaterialComponentScalerIndex = 1
226  } WidgetStringIndex;
227 
228  typedef WidgetStrings WidgetStringCollection[2];
229 
230  void setupMaterialWidget(DtSliderDoubleSpinboxWidget* widget,
231  QLabel* label, bool useMaterial,
232  const WidgetStringCollection& strings);
233 
234  protected:
235 
237 
243 
246 
250 
252 
254 
260 
263 
266 
269 
271 
275 
276  //HBAO widgets
289 
290 
292  };
293 }
QCheckBox * myTerrainScalingEnabledCheckBox
Definition: DtRenderSettingsWidget.h:247
QCheckBox * myAtcGlobalTerrainEnableCheckbox
Definition: DtRenderSettingsWidget.h:273
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DtSliderDoubleSpinboxWidget * myHbaoSmallScalarSlider
Definition: DtRenderSettingsWidget.h:284
This is the interface which the render settings widget will inherit from and the logic will use to ta...
Definition: DtRenderSettingsInterface.h:21
QLabel * myHbaoDepthClampLabel
Definition: DtRenderSettingsWidget.h:287
QComboBox * myHbaoDepthClampCombo
Definition: DtRenderSettingsWidget.h:288
DtSliderDoubleSpinboxWidget * myHbaoExponentSlider
Definition: DtRenderSettingsWidget.h:282
QCheckBox * myWireframeCheckbox
Definition: DtRenderSettingsWidget.h:238
QLabel * myHbaoBiasLabel
Definition: DtRenderSettingsWidget.h:279
QLabel * myHbaoRadiusLabel
Definition: DtRenderSettingsWidget.h:277
voidpf void uLong size
Definition: ioapi.h:39
DtSliderDoubleSpinboxWidget * myHbaoBiasSlider
Definition: DtRenderSettingsWidget.h:280
QLabel * mySymbolTransparencyLabel
Definition: DtRenderSettingsWidget.h:244
QLabel * myWaterOnScreenSizeLabel
Definition: DtRenderSettingsWidget.h:261
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
DtSliderDoubleSpinboxWidget * myFocalDepthSlider
Definition: DtRenderSettingsWidget.h:257
QLabel * myFocalDepthLabel
Definition: DtRenderSettingsWidget.h:256
Contains DLL export macros.
QSlider * myTerrainScaleFactorSlider
Definition: DtRenderSettingsWidget.h:249
QLabel * myChannelProjectionResizePolicyLabel
Definition: DtRenderSettingsWidget.h:241
QCheckBox * myClearTrackHistoriesCheckBox
Definition: DtRenderSettingsWidget.h:251
QSlider * mySymbolTransparencySlider
Definition: DtRenderSettingsWidget.h:245
DtSliderDoubleSpinboxWidget * myIndirectLodTransitionPercentageSlider
Definition: DtRenderSettingsWidget.h:265
QCheckBox * myCrepuscularRaysCheckbox
Definition: DtRenderSettingsWidget.h:253
DtSignalConnectionManager myConnections
Definition: DtRenderSettingsWidget.h:291
Interface for rendering settings gui.
DtSliderDoubleSpinboxWidget * myHbaoRadiusSlider
Definition: DtRenderSettingsWidget.h:278
DtDe & myDe
Definition: DtRenderSettingsWidget.h:236
QLabel * myComponentVisualizationLabel
Definition: DtRenderSettingsWidget.h:267
QLabel * myTerrainScaleFactorLabel
Definition: DtRenderSettingsWidget.h:248
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
DtRenderSettingsWidget implements the DtRenderSettingsInterface for Qt. It provides the Qt widgets us...
Definition: DtRenderSettingsWidget.h:37
A widget for pairing a horizontal slider with a double spin-box. The spin box must be clamped to a mi...
Definition: DtSliderDoubleSpinboxWidget.h:30
QLabel * myIndirectLodTransitionPercentageLabel
Definition: DtRenderSettingsWidget.h:264
DtSliderDoubleSpinboxWidget * myFocalRangeSlider
Definition: DtRenderSettingsWidget.h:259
QLabel * myHbaoExponentLabel
Definition: DtRenderSettingsWidget.h:281
DtSliderDoubleSpinboxWidget * myWaterOnScreenSizeSlider
Definition: DtRenderSettingsWidget.h:262
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QCheckBox * myRenderStatsCheckbox
Definition: DtRenderSettingsWidget.h:239
QComboBox * myComponentVisualizationCombo
Definition: DtRenderSettingsWidget.h:268
QString tooltip
Definition: DtRenderSettingsWidget.h:219
Definition: DtRenderSettingsWidget.h:216
Base class to provide boost signal/slot management.
QCheckBox * myAtcEnableDitherCheckbox
Definition: DtRenderSettingsWidget.h:274
QCheckBox * myAtcGlobalModelEnableCheckbox
Definition: DtRenderSettingsWidget.h:272
const char int mode
Definition: ioapi.h:38
QLabel * myHbaoLargeScalarLabel
Definition: DtRenderSettingsWidget.h:285
DtSliderDoubleSpinboxWidget * myHbaoLargeScalarSlider
Definition: DtRenderSettingsWidget.h:286
QLabel * myHbaoSmallScalarLabel
Definition: DtRenderSettingsWidget.h:283
QLabel * myFocalRangeLabel
Definition: DtRenderSettingsWidget.h:258
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
ProjectionResizePolicy
Definition: DtChannelConfiguration.h:44
QPushButton * myReloadShaderButton
Definition: DtRenderSettingsWidget.h:270
QString label
Definition: DtRenderSettingsWidget.h:218
QCheckBox * myUseAutofocusCheckbox
Definition: DtRenderSettingsWidget.h:255
QComboBox * myChannelProjectionResizePolicyCombo
Definition: DtRenderSettingsWidget.h:242
QCheckBox * myImguiCheckbox
Definition: DtRenderSettingsWidget.h:240

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)