VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntityDisplaySettingsWidget.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 #if !defined(Q_MOC_RUN)
14 #endif
15 
16 #include <QtWidgets/QWidget>
17 
18 class QCheckBox;
19 class QDoubleSpinBox;
20 class QGroupBox;
21 class QLabel;
22 class QVBoxLayout;
23 class QGridLayout;
24 class QPushButton;
25 class QRadioButton;
26 class QButtonGroup;
27 class QSlider;
28 
29 using namespace makArchives;
30 namespace makVrv
31 {
32 
33  class DtUnicode;
34  class DtSliderDoubleSpinboxWidget;
35  class DtSliderSpinboxWidget;
36 
41  : public QWidget, public DtEntityDisplaySettingsInterface
42  {
43 
44  Q_OBJECT
45 
46  public:
47 
49  DtEntityDisplaySettingsWidget(DtDe& de, QWidget* parent,
50  Qt::WindowFlags f = Qt::Widget);
51 
54 
58 
59  virtual void setDistanceLabels(const DtUnicode& label);
60  virtual void setDistanceDecimals( int decimals );
61 
62  virtual void setWakeDefaultLODMaxRange( double range );
63  virtual void setBuoyancyDefaultLODMaxRange( double range );
64  virtual void setBuoyancyMinCullMaxRange( double range );
65  virtual void setEntityLabelsShown(bool enabled);
66  virtual void setRotateEntitySymbols(bool enabled);
67  virtual void setEmitterVolumesShown(bool enabled);
68  virtual void setGroundClampingEnabled(bool enabled);
69  virtual void setLifeformsUprightEnabled(bool enabled);
70  virtual void setGroundClampingDistance(float distance);
71  virtual void setOrientationClampingEnabled(bool enabled);
72  virtual void setSmoothingEnabled(bool enabled);
73  virtual void setSmoothingPeriod(float period);
74  virtual void setArtPartSmoothingEnabled(bool enabled);
75  virtual void setArtPartSmoothingPeriod(float period);
76  virtual void setShowStealths(bool enabled);
77  virtual void setInfoPopupsOnSelect(bool enabled);
78  virtual void setHeightAboveTerrainEnabled(bool enabled);
79  virtual void setHeightAboveTerrainMode(
81  virtual void setHeightAboveTerrainSelectedOnly(bool enabled);
82  virtual void setColorizedModelColorType(
84  virtual void setIconScale(int scale);
85  virtual void setMaxGroundClampingDistance(float distance);
86  virtual void setSmoothingPeriodRange(float max, float min, float step);
87  virtual void setArtPartSmoothingPeriodRange(float max, float min, float step);
88 
91  virtual void setOceanWakesEnabled(bool state);
92 
95  virtual void setRotorWashEnabled(bool state);
96 
99  virtual void setHullSprayEffectsEnabled(bool state);
100 
103  virtual void setBuoyancyModelsEnabled(bool state);
104 
108  virtual void setBuoyancyDefaultLODDistance(double distance);
109 
114  virtual void setWakeDefaultLODDistance(double distance);
115 
119  virtual void setBuoyancyMinimumCullDistance(double distance);
120 
124  virtual void setBuoyancyCullType(
126 
130  virtual void setBuoyAndBeaconIconsEnabled(bool state);
131 
133  virtual void setHeightAboveTerrainPeriod( unsigned int period );
134 
139  virtual void setOccupantsVisible(bool state);
140 
143  virtual void setWheelRotationEnabled(bool enabled);
144 
147  virtual void setAdaptiveTickRateEnabled(bool enabled);
148 
150  protected slots:
151 
155 
156  // POSTREVIEW DWEST order the implementations in this order.
157  void on_entityLabelsCheckChanged(int state);
158  void on_rotateEntitySymbolsCheckChanged(int state);
159  void on_infoPopupsCheckChanged(int state);
160  void on_groundClampingCheckChanged(int state);
161  void on_groundClampingDistanceChanged(double scale);
162  void on_orientationClampingCheckChanged(int state);
163  void on_lifeformsUprightCheckChanged(int state);
164  void on_emitterVolumesCheckChanged(int state);
165  void on_smoothingCheckChanged(int state);
166  void on_smoothingPeriodChanged(double scale);
167  void on_artPartSmoothingCheckChanged(int state);
168  void on_artPartSmoothingPeriodChanged(double scale);
169  void on_HeightAboveTerrainEnabledCheckChanged(bool state);
170  void on_HeightAboveTerrainSelectedOnlyCheckChanged(int state);
171  void on_clearHistoryClicked();
172 
173  void on_showStealthsCheckChanged(int state);
174  void on_primaryColorsRadioButtonChanged(bool state);
175  void on_iconScaleSliderChanged(int state);
176 
177  void on_oceanWakesCheckChanged(int state);
178  void on_hullSprayEffectsCheckChanged(int state);
179  void on_buoyancyModelsCheckChanged(int state);
180  void on_buoyancyLODDistanceChanged(double distance);
181  void on_wakeLODDistanceChanged(double distance);
182  void on_rotorWashCheckChanged(int state);
183  void on_buoyancyMinimumCullDistanceChanged(double distance);
184  void on_buoyancyCullTypeChanged(bool);
185  void on_buoyAndBeaconIconsCheckChanged(int state);
186  void on_HeightAboveTerrainPeriodChanged(int period);
187  void on_occupantsVisibleCheckChanged(int state);
188  void on_wheelRotationCheckChanged(int state);
189  void on_adaptiveTickRateCheckChanged(int state);
190 
192 
193  protected:
194 
197  void setupGui();
198 
201  void connectToSignals();
202 
203  void enableBuoyancyParameters( bool enabled );
204 
205  protected:
206 
207  // Effects
214 
215  // Ground clamping.
222 
223  // Smoothing
227 
231 
232  // Filtering
234 
235  // Force Color settings.
237  QRadioButton* myIconColorsRadioButton;
238  QButtonGroup* myColorsButtonGroup;
239 
242 
243  // Surface vehicles
254 
255  // Buoyancy cull
257 
261 
263 
265 
267 
269 
270  };
271 
272 }
QCheckBox * myRotateEntitySymbols
Definition: DtEntityDisplaySettingsWidget.h:209
QCheckBox * myEmitterVolumesEnabledCheckbox
Definition: DtEntityDisplaySettingsWidget.h:213
QRadioButton * myPrimaryColorsRadioButton
Definition: DtEntityDisplaySettingsWidget.h:236
The interface for an entity settings widget to communicate with its logic.
Definition: DtEntitySettingsInterface.h:28
A unicode string.
Definition: DtUnicode.h:33
QCheckBox * myGroundClampingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:216
QLabel * myWakeLODDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:249
DtSliderDoubleSpinboxWidget * myGroundClampingDistance
Definition: DtEntityDisplaySettingsWidget.h:221
QCheckBox * myHeightAboveTerrainEnabledCheckBox
Definition: DtEntityDisplaySettingsWidget.h:211
DtDe & myDe
Definition: DtEntityDisplaySettingsWidget.h:268
QCheckBox * myWheelRotationCheckbox
Definition: DtEntityDisplaySettingsWidget.h:264
QLabel * myGroundClampingDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:220
ColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:42
This class displays the entity display controls inside the entity display page.
Definition: DtEntityDisplaySettingsWidget.h:40
QCheckBox * mySmoothingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:224
#define DT_DLL_VRVVRLQT
Definition: vrvVrlQt.h:19
A widget for pairing a horizontal slider with a spinbox.
Definition: DtSliderSpinboxWidget.h:30
QLabel * myHeightAboveTerrainPeriodLabel
Definition: DtEntityDisplaySettingsWidget.h:259
QSlider * myIconScaleSlider
Definition: DtEntityDisplaySettingsWidget.h:241
QCheckBox * myBuoyancyFrontFaceCullCheckbox
Definition: DtEntityDisplaySettingsWidget.h:256
DtSliderDoubleSpinboxWidget * myBuoyancyMinimumCullDistanceSlider
Definition: DtEntityDisplaySettingsWidget.h:253
QCheckBox * myOrientationClampingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:219
QButtonGroup * myColorsButtonGroup
Definition: DtEntityDisplaySettingsWidget.h:238
QCheckBox * myBuoyancyModelsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:247
Interface for the entity settings widget.
QCheckBox * myAdaptiveTickRateCheckbox
Definition: DtEntityDisplaySettingsWidget.h:266
BuoyancyCullType
Definition: DtEntitySettingsRecord.h:22
QCheckBox * myHullSprayCheckbox
Definition: DtEntityDisplaySettingsWidget.h:246
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
QLabel * myArtPartSmoothingPeriodLabel
Definition: DtEntityDisplaySettingsWidget.h:229
QCheckBox * myEntityLabelsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:208
QCheckBox * myInfoPopupsOnSelectCheckbox
Definition: DtEntityDisplaySettingsWidget.h:210
A widget for pairing a horizontal slider with a double spin-box.
Definition: DtSliderDoubleSpinboxWidget.h:30
DtSliderDoubleSpinboxWidget * myWakeLODDistanceSlider
Definition: DtEntityDisplaySettingsWidget.h:252
QCheckBox * myOccupantsVisibleCheckbox
Definition: DtEntityDisplaySettingsWidget.h:262
QCheckBox * myLifeformsUprightCheckbox
Definition: DtEntityDisplaySettingsWidget.h:218
DtSliderDoubleSpinboxWidget * myArtPartSmoothingPeriod
Definition: DtEntityDisplaySettingsWidget.h:230
QCheckBox * myShowStealthsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:233
DtSliderDoubleSpinboxWidget * mySmoothingPeriod
Definition: DtEntityDisplaySettingsWidget.h:226
DtSliderDoubleSpinboxWidget * myBuoyancyLODDistanceSlider
Definition: DtEntityDisplaySettingsWidget.h:251
HeightAboveTerrainMode
Enumeration for the HAT mode.
Definition: DtSharedEntityDisplaySettings.h:35
QLabel * myBuoyancyLODDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:248
QCheckBox * myHeightAboveTerrainSelectedOnlyCheckbox
Definition: DtEntityDisplaySettingsWidget.h:212
QLabel * myBuoyancyMinimumCullDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:250
const char int mode
Definition: ioapi.h:38
QLabel * myIconScaleLabel
Definition: DtEntityDisplaySettingsWidget.h:240
QRadioButton * myIconColorsRadioButton
Definition: DtEntityDisplaySettingsWidget.h:237
DtSliderSpinboxWidget * myHeightAboveTerrainPeriodSlider
Definition: DtEntityDisplaySettingsWidget.h:260
QLabel * mySmoothingPeriodLabel
Definition: DtEntityDisplaySettingsWidget.h:225
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QCheckBox * myBuoyAndBeaconIconsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:258
QCheckBox * myRotorWashCheckbox
Definition: DtEntityDisplaySettingsWidget.h:245
QCheckBox * myTrackHistoryCheckbox
Definition: DtEntityDisplaySettingsWidget.h:217
QCheckBox * myOceanWakesCheckbox
Definition: DtEntityDisplaySettingsWidget.h:244
QCheckBox * myArtPartSmoothingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:228

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)