VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOceanRenderSettingsWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
14 #include <QtWidgets/QWidget>
15 
16 class QCheckBox;
17 class QVBoxLayout;
18 class QLabel;
19 class QComboBox;
20 class QSlider;
21 class QGroupBox;
22 class QRadioButton;
23 class QSpinBox;
24 class QPushButton;
25 class QSignalMapper;
26 class QButtonGroup;
27 
28 namespace makVrv
29 {
30 
31  class DtSliderSpinboxWidget;
32  class DtSliderDoubleSpinboxWidget;
33 
40  {
41  Q_OBJECT
42 
43  public:
44 
45  //needs to match TritonQuality in DtTritonManager. Didn't want vrvCoreQt
46  // to depend on vrvTriton for a single enum.
50  TritonQuality_Best
51  };
52 
56  TritonSpectralModel_Tessendorf
57  };
58 
61  DtDe& de, QWidget* parent, Qt::WindowFlags flags = Qt::Widget);
62 
64  virtual ~DtOceanRenderSettingsWidget();
65 
68  virtual void setOceanPlanarReflectionsEnabled(bool state);
69 
73  virtual void setOceanPlanarReflectionsLODScale( float scale );
74 
79  virtual void setOceanPlanarReflectionsLODScaleRange(float max, float min, float step);
80 
81 #if 0
82  virtual void setOceanPlanarReflectionsSpecifyFarClip( bool enabled );
86 
90  virtual void setOceanPlanarReflectionsFarClip( double farClip );
91 #endif
92 
95  virtual void setWaveSprayEffectEnabled(bool state);
96 
99  virtual void setRotorWashDecalEnabled(bool state);
100 
103  virtual void setTidalStreamWakesEnabled(bool state);
104 
107  virtual void setOceanHeightMapResolution(double res);
108 
113  virtual void setOceanHeightMapResolutionRange(float max, float min, float step);
114 
119  virtual void setRegenerateHeightMapPercThreshold(double threshold);
120 
125  virtual void setRegenerateHeightMapPercThresholdRange(float max, float min, float step);
126 
130  virtual void setOceanHeightMapTextureSize(int val);
131 
136  virtual void setOceanHeightMapTextureSizeRange(int max, int min, int step);
137 
140  virtual void setRegenerateCubeMapThreshold(double threshold);
141 
146  virtual void setRegenerateCubeMapThresholdRange(float max, float min, float step);
147 
150  virtual void setOmitCloudInCubeMap(bool state);
151 
155  virtual void setPlanarReflectionTextureWidth(int val);
156 
161  virtual void setPlanarReflectionTextureWidthRange(int max, int min, int step);
162 
166  virtual void setPlanarReflectionTextureHeight(int val);
167 
172  virtual void setPlanarReflectionTextureHeightRange(int max, int min, int step);
173 
176  virtual void setOceanQuality(unsigned int quality) override;
177 
180  virtual void setOceanSpectralModel(unsigned int spectralModel) override;
181 
184  virtual void setPlanarReflectionsShowSpeedTrees(bool val);
185 
186  protected slots:
187 
191  void on_oceanPlanarReflectionsCheckChanged(int state);
192  void on_oceanPlanarReflectionsLODScaleChanged(double scale);
193 #if 0
194  void on_oceanPlanarReflectionsSpecifyFarClipChanged(int state);
195  void on_oceanPlanarReflectionsFarClipChanged(double farClip);
196 #endif
197  void on_waveSprayEffectCheckChanged(int state);
198  void on_rotorWashDecalCheckChanged(int state);
199  void on_tidalStreamWakesCheckChanged(int state);
200  void on_oceanHeightMapResolutionChanged(double res);
201  void on_regenerateCubeMapThreshold(double threshold);
202  void on_omitCloudInCubeMap(int state);
203  void on_regenerateHeightMapPercThreshold(double threshold);
204  void on_oceanHeightMapTextureSizeChanged(int val);
205  void on_planarReflectionTextureWidthChanged(int val);
206  void on_planarReflectionTextureHeightChanged(int val);
207  void on_planarReflectionsShowSpeedTreesChanged(int val);
208 
209  void on_oceanQualityClicked(int);
210 
211  void on_oceanSpectralModelClicked(int);
212 
214 
215  protected:
216 
219  void setupGui();
220 
223  void connectToSignals();
224 
225  void enablePlanarReflectionParameters( bool enabled );
226 
229  void setupOceanQualityWidgets(QVBoxLayout* mainLayout);
230 
233  void setupOceanSpectralModelWidgets(QVBoxLayout* mainLayout);
234 
235  protected:
236 
238 
240 #if 0
241  QCheckBox* myOceanPlanarReflectionsSpecifyFarClipCheckbox;
242 #endif
246 
248 
251 
254 
257 
260 #if 0
261  QLabel* myOceanPlanarReflectionsFarClipLabel;
262  DtSliderDoubleSpinboxWidget* myOceanPlanarReflectionsFarClip;
263 #endif
264 
267 
269 
270 
272 
275 
278 
281 
282  QRadioButton* myOceanQualityGood;
283  QRadioButton* myOceanQualityBetter;
284  QRadioButton* myOceanQualityBest;
285 
288 
292 
294  };
295 }
QCheckBox * myWaveSprayEffect
Definition: DtOceanRenderSettingsWidget.h:243
DtSliderSpinboxWidget * myPlanarReflectionTextureWidthSlider
Definition: DtOceanRenderSettingsWidget.h:274
QLabel * myOceanPlanarReflectionsLODScaleLabel
Definition: DtOceanRenderSettingsWidget.h:258
QButtonGroup * myOceanSpectralModelButtonGroup
Definition: DtOceanRenderSettingsWidget.h:287
DtSliderSpinboxWidget * myPlanarReflectionTextureHeightSlider
Definition: DtOceanRenderSettingsWidget.h:277
QLabel * myRegenerateHeightMapPercThresholdLabel
Definition: DtOceanRenderSettingsWidget.h:252
DtSliderDoubleSpinboxWidget * myRegenerateCubeMapThresholdSpinBox
Definition: DtOceanRenderSettingsWidget.h:266
QLabel * myOceanHeightMapLabel
Definition: DtOceanRenderSettingsWidget.h:247
QRadioButton * myOceanSpectralModelTessendorf
Definition: DtOceanRenderSettingsWidget.h:291
A widget for pairing a horizontal slider with a spinbox. The spin box must be clamped to a min and ma...
Definition: DtSliderSpinboxWidget.h:30
QRadioButton * myOceanSpectralModelJonSwap
Definition: DtOceanRenderSettingsWidget.h:289
QLabel * myPlanarReflectionsTextureSizeLabel
Definition: DtOceanRenderSettingsWidget.h:271
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
DtOceanRenderSettingsWidget implements the DtOceanRenderSettingsInterface for Qt. It provides the Qt ...
Definition: DtOceanRenderSettingsWidget.h:38
TritonQuality
Definition: DtOceanRenderSettingsWidget.h:47
DtSliderDoubleSpinboxWidget * myRegenerateHeightMapPercThresholdSlider
Definition: DtOceanRenderSettingsWidget.h:253
QCheckBox * myOmitCloudInCubeMapCheckBox
Definition: DtOceanRenderSettingsWidget.h:268
QRadioButton * myOceanQualityGood
Definition: DtOceanRenderSettingsWidget.h:282
Definition: DtOceanRenderSettingsWidget.h:48
QCheckBox * myOceanPlanarReflectionsCheckbox
Definition: DtOceanRenderSettingsWidget.h:239
Definition: DtOceanRenderSettingsWidget.h:49
QSignalMapper * myOceanQualitySignalMapper
Definition: DtOceanRenderSettingsWidget.h:279
DtSliderDoubleSpinboxWidget * myOceanPlanarReflectionsLODScale
Definition: DtOceanRenderSettingsWidget.h:259
DtSliderDoubleSpinboxWidget * myOceanHeightMapResolution
Definition: DtOceanRenderSettingsWidget.h:250
QCheckBox * myRotorWashDecal
Definition: DtOceanRenderSettingsWidget.h:244
QLabel * myOceanHeightMapResolutionLabel
Definition: DtOceanRenderSettingsWidget.h:249
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 * myPlanarReflectionTextureHeightLabel
Definition: DtOceanRenderSettingsWidget.h:276
QRadioButton * myOceanSpectralModelPiersonMoskowitz
Definition: DtOceanRenderSettingsWidget.h:290
QButtonGroup * myOceanQualityButtonGroup
Definition: DtOceanRenderSettingsWidget.h:280
This is the interface which the render settings widget will inherit from and the logic will use to ta...
Definition: DtOceanRenderSettingsInterface.h:19
DtDe & myDe
Definition: DtOceanRenderSettingsWidget.h:237
QLabel * myPlanarReflectionTextureWidthLabel
Definition: DtOceanRenderSettingsWidget.h:273
QCheckBox * myPlanarReflectionsShowSpeedTreesCheckbox
Definition: DtOceanRenderSettingsWidget.h:293
TritonSpectralModel
Definition: DtOceanRenderSettingsWidget.h:53
Definition: DtOceanRenderSettingsWidget.h:54
QCheckBox * myTidalStreamWakes
Definition: DtOceanRenderSettingsWidget.h:245
Interface for rendering settings gui.
QSignalMapper * myOceanSpectralModelSignalMapper
Definition: DtOceanRenderSettingsWidget.h:286
QRadioButton * myOceanQualityBest
Definition: DtOceanRenderSettingsWidget.h:284
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
QLabel * myOceanHeightMapTextureSizeLabel
Definition: DtOceanRenderSettingsWidget.h:255
DtSliderSpinboxWidget * myOceanHeightMapTextureSizeSlider
Definition: DtOceanRenderSettingsWidget.h:256
QRadioButton * myOceanQualityBetter
Definition: DtOceanRenderSettingsWidget.h:283
QLabel * myRegenerateCubeMapThresholdLabel
Definition: DtOceanRenderSettingsWidget.h:265

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)