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) 2021 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 setLodScaleSpinBox(double lodScale);
101 
103  virtual void setLodScaleMinRange(float minRange);
105  virtual void setLodScaleMaxRange(float maxRange);
106  virtual void setLodScaleDecimals(int decimals);
107  virtual void setLodScaleSingleStep(float step);
109 
110 
112  virtual void enableLodScaleSpinBox(bool enable);
113 
114  virtual void setSpeedScalingMode( DtObserverObject::SpeedScalingMode mode );
115  virtual void setSpeedScalingMslModeOffset( double offset );
116 
118  virtual QSize sizeHint() const;
119 
120  public slots:
121 
123  virtual void toggleScaling( bool checked );
124 
126  virtual void toggleConstrain( bool checked );
127 
129  virtual void toggleTerrainDragging( bool checked );
130 
132  virtual void linearSpeedGainSliderChanged( int value );
133 
135  virtual void rotationSpeedGainSliderChanged( int value );
136 
138  virtual void orbitSpeedGainSliderChanged( int value );
139 
140  virtual void onModelScaleFactorSliderChanged( int value );
141 
142  virtual void onViewMagnificationSpinBoxChanged(double value);
143 
144  virtual void onLodScaleSpinBoxChanged(double value);
145 
146  virtual void onSpeedScalingMslRadioButtonClicked();
147 
148  virtual void onSpeedScalingAglRadioButtonClicked();
149 
150  virtual void onSpeedScalingMslModeOffsetSliderChanged( double value );
151 
152  protected:
153 
156 
158  DtEyepointControlWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags f = 0);
159 
161  virtual void activate();
162 
164  virtual void deactivate();
165 
166  void setupGui();
167 
171  virtual void keyReleaseEvent( QKeyEvent* event );
172 
173 
174  protected:
175 
178  std::string myClassName;
193 
194  };
195 
199  {
200  public:
201 
204 
207 
211  virtual std::string pageClassName() const;
212 
214  virtual DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
215  };
216 
217 }
218 
DtObserverModeSelectionWidget * myObserverModeComboBox
Definition: DtEyepointControlWidget.h:185
A widget class for managing attachment.
Definition: DtEyepointControlWidget.h:34
QSlider * myModelScaleFactorSlider
Definition: DtEyepointControlWidget.h:186
QSlider * myLinearSpeedGainSlider
Definition: DtEyepointControlWidget.h:179
QRadioButton * mySpeedScalingMslRadioButton
Definition: DtEyepointControlWidget.h:191
Contains makVrv::DtPage class.
Widget for choosing the current observer mode for an observer.
Definition: DtObserverModeSelectionWidget.h:24
DtSliderDoubleSpinboxWidget * myLodScaleSpinBox
Definition: DtEyepointControlWidget.h:188
The page creator. This class should be extended by all page classes.
Definition: DtPage.h:121
QDoubleSpinBox * myViewMagnificationSpinBox
Definition: DtEyepointControlWidget.h:187
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
std::string myClassName
Definition: DtEyepointControlWidget.h:178
The creator class needed to be used to create a DtDriverWidget.
Definition: DtEyepointControlWidget.h:198
SpeedScalingMode
Definition: DtObserverObject.h:53
QSlider * myRotationSpeedGainSlider
Definition: DtEyepointControlWidget.h:180
QButtonGroup * mySpeedScalingModeButtonGroup
Definition: DtEyepointControlWidget.h:189
DtSliderDoubleSpinboxWidget * mySpeedScalingMslModeOffsetSlider
Definition: DtEyepointControlWidget.h:192
Abstract interface for the attach widget.
Definition: DtEyepointControlWidgetInterface.h:22
DtEyepointControlWidgetLogic * myLogic
Pointer to our logic handler.
Definition: DtEyepointControlWidget.h:177
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:30
QRadioButton * mySpeedScalingAglRadioButton
Definition: DtEyepointControlWidget.h:190
DT_DLL_vrfutil double mag(double x[3])
const char int mode
Definition: ioapi.h:38
QCheckBox * myTerrainDraggingCheckBox
Definition: DtEyepointControlWidget.h:184
Contains makVrv::DtEyepointControlWidgetInterface class.
Contains makVrv::DtUniqueID type.
QCheckBox * myConstrainCheckBox
Definition: DtEyepointControlWidget.h:182
QCheckBox * myScalingCheckBox
Definition: DtEyepointControlWidget.h:183
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:72
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:181
Logic to manage the Observer Control Widget.
Definition: DtEyepointControlWidgetLogic.h:28

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)