VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEyepointControlWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
13 #include <vrvCoreQt/DtPage.h>
15 #include <vrvCore/DtUniqueID.h>
16 
17 class QCheckBox;
18 class QDialog;
19 class QMenu;
20 class QAction;
21 class QSlider;
22 class QDoubleSpinBox;
23 class QRadioButton;
24 class QButtonGroup;
25 
26 namespace makVrv
27 {
28  class DtEyepointControlWidgetLogic;
29  class DtObserverModeSelectionWidget;
30  class DtSliderDoubleSpinboxWidget;
31 
35  : public DtPage
37 
38  {
39 
40  Q_OBJECT
41 
42  public:
43 
45  virtual ~DtEyepointControlWidget();
46 
48  virtual QIcon icon();
49 
52  virtual DtQIconConfigurations qIconConfigurations() const;
53 
55  virtual QString title();
56 
58  virtual const std::string& pageClassName() const;
59 
61  virtual void setScalingCheckBox( bool checked );
62 
64  virtual void setConstrainCheckBox( bool checked );
65 
67  virtual void enableConstrainCheckBox( bool enabled );
68 
70  virtual void setTerrainDragCheckBox( bool checked );
71 
73  virtual void setLinearSpeedGainSlider( int gain );
74 
76  virtual void setRotationSpeedGainSlider( int gain );
77 
79  virtual void setOrbitSpeedGainSlider( int gain );
80 
82  virtual void setSliderGainPrecision( int precision );
83 
85  virtual void setModelScaleFactorSlider( int factor );
86 
88  virtual void enableModelScaleFactorSlider( bool enable );
89 
91  virtual void setMaxModelScaleFactor( int maxModelScaleFactor );
92 
94  virtual void setViewMagnificationSpinBox( double mag );
95 
97  virtual void enableViewMagnificationSpinBox( bool enable );
98 
100  virtual void setIsFrustumBasedViewMagnificationEnabled( bool enable );
101 
103  virtual void setTerrainLodScaleSpinBox(double lodScale);
104 
106  virtual void setEntityLodScaleSpinBox(double lodScale);
107 
109  virtual void setLodScaleMinRange(float minRange);
111  virtual void setLodScaleMaxRange(float maxRange);
112  virtual void setLodScaleDecimals(int decimals);
113  virtual void setLodScaleSingleStep(float step);
115 
116 
118  virtual void enableLodScaleSpinBox(bool enable);
119 
120  virtual void setSpeedScalingMode( DtObserverObject::SpeedScalingMode mode );
121  virtual void setSpeedScalingMslModeOffset( double offset );
122 
124  virtual QSize sizeHint() const;
125 
126  public slots:
127 
129  virtual void toggleScaling( bool checked );
130 
132  virtual void toggleConstrain( bool checked );
133 
135  virtual void toggleFrustumBasedViewMagnification( bool checked );
136 
138  virtual void toggleTerrainDragging( bool checked );
139 
141  virtual void linearSpeedGainSliderChanged( int value );
142 
144  virtual void rotationSpeedGainSliderChanged( int value );
145 
147  virtual void orbitSpeedGainSliderChanged( int value );
148 
149  virtual void onModelScaleFactorSliderChanged( int value );
150 
151  virtual void onViewMagnificationSpinBoxChanged(double value);
152 
153  virtual void onEntityLodScaleSpinBoxChanged(double value);
154  virtual void onTerrainLodScaleSpinBoxChanged(double value);
155 
156  virtual void onSpeedScalingMslRadioButtonClicked();
157 
158  virtual void onSpeedScalingAglRadioButtonClicked();
159 
160  virtual void onSpeedScalingMslModeOffsetSliderChanged( double value );
161 
162  protected:
163 
166 
168  DtEyepointControlWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0);
169 
171  virtual void activate();
172 
174  virtual void deactivate();
175 
176  void setupGui();
177 
181  virtual void keyReleaseEvent( QKeyEvent* event );
182 
183 
184  protected:
185 
188  std::string myClassName;
205 
206  };
207 
211  {
212  public:
213 
216 
219 
223  virtual std::string pageClassName() const;
224 
226  virtual DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
227  };
228 
229 }
230 
DtObserverModeSelectionWidget * myObserverModeComboBox
Definition: DtEyepointControlWidget.h:196
A widget class for managing attachment.
Definition: DtEyepointControlWidget.h:34
QSlider * myModelScaleFactorSlider
Definition: DtEyepointControlWidget.h:197
QSlider * myLinearSpeedGainSlider
Definition: DtEyepointControlWidget.h:189
QRadioButton * mySpeedScalingMslRadioButton
Definition: DtEyepointControlWidget.h:203
DtSliderDoubleSpinboxWidget * myEntityLodScaleSpinBox
Definition: DtEyepointControlWidget.h:200
Contains makVrv::DtPage class declaration.
Widget for choosing the current observer mode for an observer.
Definition: DtObserverModeSelectionWidget.h:24
The page creator. This class should be extended by all page classes.
Definition: DtPage.h:152
QDoubleSpinBox * myViewMagnificationSpinBox
Definition: DtEyepointControlWidget.h:198
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
QCheckBox * myUseFrustumBasedViewMagnificationCheckBox
Definition: DtEyepointControlWidget.h:195
Contains DLL export macros.
std::string myClassName
Definition: DtEyepointControlWidget.h:188
The creator class needed to be used to create a DtDriverWidget.
Definition: DtEyepointControlWidget.h:210
SpeedScalingMode
Definition: DtObserverObject.h:56
QSlider * myRotationSpeedGainSlider
Definition: DtEyepointControlWidget.h:190
QButtonGroup * mySpeedScalingModeButtonGroup
Definition: DtEyepointControlWidget.h:201
DtSliderDoubleSpinboxWidget * mySpeedScalingMslModeOffsetSlider
Definition: DtEyepointControlWidget.h:204
Abstract interface for the attach widget.
Definition: DtEyepointControlWidgetInterface.h:22
DtEyepointControlWidgetLogic * myLogic
Pointer to our logic handler.
Definition: DtEyepointControlWidget.h:187
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
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:51
QRadioButton * mySpeedScalingAglRadioButton
Definition: DtEyepointControlWidget.h:202
DT_DLL_vrfutil double mag(double x[3])
const char int mode
Definition: ioapi.h:38
QCheckBox * myTerrainDraggingCheckBox
Definition: DtEyepointControlWidget.h:194
Contains makVrv::DtEyepointControlWidgetInterface class.
Contains makVrv::DtUniqueID type.
QCheckBox * myConstrainCheckBox
Definition: DtEyepointControlWidget.h:192
QCheckBox * myScalingCheckBox
Definition: DtEyepointControlWidget.h:193
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
DtSliderDoubleSpinboxWidget * myTerrainLodScaleSpinBox
Definition: DtEyepointControlWidget.h:199
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
voidpf uLong offset
Definition: ioapi.h:42
QSlider * myOrbitSpeedGainSlider
Definition: DtEyepointControlWidget.h:191
Logic to manage the Observer Control Widget.
Definition: DtEyepointControlWidgetLogic.h:28

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)