VR-Forces 5.0.3 Developer's Guide
 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(
83  DtColorizedModelColorType colorType);
84  virtual void setFixedIconScalingEnabled(bool enabled);
85  virtual void setIconScale(int scale);
86  virtual void setMaxGroundClampingDistance(float distance);
87  virtual void setSmoothingPeriodRange(float max, float min, float step);
88  virtual void setArtPartSmoothingPeriodRange(float max, float min, float step);
89 
92  virtual void setOceanWakesEnabled(bool state);
93 
96  virtual void setRotorWashEnabled(bool state);
97 
100  virtual void setHullSprayEffectsEnabled(bool state);
101 
104  virtual void setBuoyancyModelsEnabled(bool state);
105 
109  virtual void setBuoyancyDefaultLODDistance(double distance);
110 
115  virtual void setWakeDefaultLODDistance(double distance);
116 
120  virtual void setBuoyancyMinimumCullDistance(double distance);
121 
125  virtual void setBuoyancyCullType(
127 
131  virtual void setBuoyAndBeaconIconsEnabled(bool state);
132 
134  virtual void setHeightAboveTerrainPeriod( unsigned int period );
135 
140  virtual void setOccupantsVisible(bool state);
141 
144  virtual void setWheelRotationEnabled(bool enabled);
145 
148  virtual void setAdaptiveTickRateEnabled(bool enabled);
149 
151  protected slots:
152 
156 
157  // POSTREVIEW DWEST order the implementations in this order.
158  void on_entityLabelsCheckChanged(int state);
159  void on_rotateEntitySymbolsCheckChanged(int state);
160  void on_infoPopupsCheckChanged(int state);
161  void on_groundClampingCheckChanged(int state);
162  void on_groundClampingDistanceChanged(double scale);
163  void on_orientationClampingCheckChanged(int state);
164  void on_lifeformsUprightCheckChanged(int state);
165  void on_emitterVolumesCheckChanged(int state);
166  void on_smoothingCheckChanged(int state);
167  void on_smoothingPeriodChanged(double scale);
168  void on_artPartSmoothingCheckChanged(int state);
169  void on_artPartSmoothingPeriodChanged(double scale);
170  void on_HeightAboveTerrainEnabledCheckChanged(bool state);
171  void on_HeightAboveTerrainSelectedOnlyCheckChanged(int state);
172  void on_clearHistoryClicked();
173 
174  void on_showStealthsCheckChanged(int state);
175  void on_primaryColorsRadioButtonChanged(bool state);
176 
177  void on_fixedEntityIconScalingCheckChanged(int state);
178  void on_iconScaleSliderChanged(int state);
179 
180  void on_oceanWakesCheckChanged(int state);
181  void on_hullSprayEffectsCheckChanged(int state);
182  void on_buoyancyModelsCheckChanged(int state);
183  void on_buoyancyLODDistanceChanged(double distance);
184  void on_wakeLODDistanceChanged(double distance);
185  void on_rotorWashCheckChanged(int state);
186  void on_buoyancyMinimumCullDistanceChanged(double distance);
187  void on_buoyancyCullTypeChanged(bool);
188  void on_buoyAndBeaconIconsCheckChanged(int state);
189  void on_HeightAboveTerrainPeriodChanged(int period);
190  void on_occupantsVisibleCheckChanged(int state);
191  void on_wheelRotationCheckChanged(int state);
192  void on_adaptiveTickRateCheckChanged(int state);
193 
195 
196  protected:
197 
200  void setupGui();
201 
204  void connectToSignals();
205 
206  void enableBuoyancyParameters( bool enabled );
207 
208  protected:
209 
210  // Effects
217 
218  // Ground clamping.
225 
226  // Smoothing
230 
234 
235  // Filtering
237 
238  // Force Color settings.
240  QRadioButton* myIconColorsRadioButton;
241  QButtonGroup* myColorsButtonGroup;
242 
246 
247  // Surface vehicles
258 
259  // Buoyancy cull
261 
265 
267 
269 
271 
273 
274  };
275 
276 }
QCheckBox * myRotateEntitySymbols
Definition: DtEntityDisplaySettingsWidget.h:212
QCheckBox * myEmitterVolumesEnabledCheckbox
Definition: DtEntityDisplaySettingsWidget.h:216
QRadioButton * myPrimaryColorsRadioButton
Definition: DtEntityDisplaySettingsWidget.h:239
The interface for an entity settings widget to communicate with its logic.
Definition: DtEntitySettingsInterface.h:28
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QCheckBox * myGroundClampingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:219
QLabel * myWakeLODDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:253
DtSliderDoubleSpinboxWidget * myGroundClampingDistance
Definition: DtEntityDisplaySettingsWidget.h:224
QCheckBox * myHeightAboveTerrainEnabledCheckBox
Definition: DtEntityDisplaySettingsWidget.h:214
DtDe & myDe
Definition: DtEntityDisplaySettingsWidget.h:272
QCheckBox * myWheelRotationCheckbox
Definition: DtEntityDisplaySettingsWidget.h:268
QLabel * myGroundClampingDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:223
This class displays the entity display controls inside the entity display page.
Definition: DtEntityDisplaySettingsWidget.h:40
QCheckBox * mySmoothingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:227
#define DT_DLL_VRVVRLQT
Definition: vrvVrlQt.h:19
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
QLabel * myHeightAboveTerrainPeriodLabel
Definition: DtEntityDisplaySettingsWidget.h:263
DtColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:34
QSlider * myIconScaleSlider
Definition: DtEntityDisplaySettingsWidget.h:245
QCheckBox * myBuoyancyFrontFaceCullCheckbox
Definition: DtEntityDisplaySettingsWidget.h:260
DtSliderDoubleSpinboxWidget * myBuoyancyMinimumCullDistanceSlider
Definition: DtEntityDisplaySettingsWidget.h:257
QCheckBox * myOrientationClampingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:222
QButtonGroup * myColorsButtonGroup
Definition: DtEntityDisplaySettingsWidget.h:241
DtHeightAboveTerrainMode
Enumeration for the HAT mode.
Definition: DtSharedEntityDisplaySettings.h:27
QCheckBox * myBuoyancyModelsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:251
Interface for the entity settings widget.
QCheckBox * myAdaptiveTickRateCheckbox
Definition: DtEntityDisplaySettingsWidget.h:270
BuoyancyCullType
Definition: DtEntitySettingsRecord.h:64
QCheckBox * myHullSprayCheckbox
Definition: DtEntityDisplaySettingsWidget.h:250
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...
QLabel * myArtPartSmoothingPeriodLabel
Definition: DtEntityDisplaySettingsWidget.h:232
QCheckBox * myEntityLabelsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:211
QCheckBox * myInfoPopupsOnSelectCheckbox
Definition: DtEntityDisplaySettingsWidget.h:213
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
DtSliderDoubleSpinboxWidget * myWakeLODDistanceSlider
Definition: DtEntityDisplaySettingsWidget.h:256
QCheckBox * myOccupantsVisibleCheckbox
Definition: DtEntityDisplaySettingsWidget.h:266
QCheckBox * myFixedEntityIconScaleCheckbox
Definition: DtEntityDisplaySettingsWidget.h:243
QCheckBox * myLifeformsUprightCheckbox
Definition: DtEntityDisplaySettingsWidget.h:221
DtSliderDoubleSpinboxWidget * myArtPartSmoothingPeriod
Definition: DtEntityDisplaySettingsWidget.h:233
QCheckBox * myShowStealthsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:236
DtSliderDoubleSpinboxWidget * mySmoothingPeriod
Definition: DtEntityDisplaySettingsWidget.h:229
DtSliderDoubleSpinboxWidget * myBuoyancyLODDistanceSlider
Definition: DtEntityDisplaySettingsWidget.h:255
QLabel * myBuoyancyLODDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:252
QCheckBox * myHeightAboveTerrainSelectedOnlyCheckbox
Definition: DtEntityDisplaySettingsWidget.h:215
QLabel * myBuoyancyMinimumCullDistanceLabel
Definition: DtEntityDisplaySettingsWidget.h:254
const char int mode
Definition: ioapi.h:38
QLabel * myIconScaleLabel
Definition: DtEntityDisplaySettingsWidget.h:244
QRadioButton * myIconColorsRadioButton
Definition: DtEntityDisplaySettingsWidget.h:240
DtSliderSpinboxWidget * myHeightAboveTerrainPeriodSlider
Definition: DtEntityDisplaySettingsWidget.h:264
QLabel * mySmoothingPeriodLabel
Definition: DtEntityDisplaySettingsWidget.h:228
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:70
QCheckBox * myBuoyAndBeaconIconsCheckbox
Definition: DtEntityDisplaySettingsWidget.h:262
QCheckBox * myRotorWashCheckbox
Definition: DtEntityDisplaySettingsWidget.h:249
QCheckBox * myTrackHistoryCheckbox
Definition: DtEntityDisplaySettingsWidget.h:220
QCheckBox * myOceanWakesCheckbox
Definition: DtEntityDisplaySettingsWidget.h:248
QCheckBox * myArtPartSmoothingCheckbox
Definition: DtEntityDisplaySettingsWidget.h:231

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)