VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverSettingsLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
14 
15 namespace makVrv
16 {
17  class DtDe;
18  class DtObserverSettingsInterface;
19  class DtPersistenceControlsInterface;
20  class DtSettingsBackup;
21  class DtInputDriver;
22  class DtObserver;
23  class DtSensor;
24 
28  {
29  public:
30 
33  DtObserverSettingsInterface* observerModeEditorIf );
34 
36  virtual ~DtObserverSettingsLogic();
37 
39  virtual void setSelectedObserver( const std::string& observerName );
40 
42  virtual void setSelectedObserverMode( const std::string& ObserverModeName );
43 
44  virtual void modelSetChanged( int modelSet );
45  virtual void sensorChanged( const std::string& sensor);
46  virtual void keyMapChanged( const std::string& keyMap );
47  virtual void projectionChanged( const std::string& projection );
48  virtual void settingChanged( int settingKey, bool value );
49 
51  virtual void setModelScaleFactor( int factor );
52 
54  virtual void setModelScaleType(const std::string& type);
55 
57  virtual void setMaxModelScaleFactor( double maxScaleFactor );
58 
60  virtual void setLinearSpeedGain( int gain );
61 
63  virtual void setRotationSpeedGain( int gain );
64 
66  virtual void setOrbitSpeedGain( int gain );
67 
69  virtual void setSpeedScalingMode(
71 
73  virtual void setSpeedScalingMslModeOffset(double offset);
74 
76  virtual void setCameraShakeIntensity(double intensity);
77 
79  virtual void setCameraShakeEnabled(bool enabled);
80 
82  virtual void setLodScaleCenterMagMinLimit(double limit);
83 
85  virtual void setLodScaleCenterEnabled(bool enabled);
86 
87  virtual void createObserver( const std::string& ObserverName );
88  virtual void deleteObserver( const std::string& ObserverName );
89  virtual void renameObserver( const std::string& oldName, const std::string& newName );
90 
91  virtual void createObserverMode( const std::string& ObserverModeName );
92  virtual void deleteObserverMode( const std::string& ObserverModeName );
93  virtual void renameObserverMode( const std::string& oldName, const std::string& newName );
94 
95  protected:
96 
97  virtual void observerModesRestored(const DtSettingsBackup*);
98 
100  void setupValues();
101 
102  // called by setupValues, and also when projection or model set changes
103  // the update the settings pane
104  void setupSettings();
105 
106  void setupSpeedSliders();
107  void setupModelScaleFactorSlider();
108  void setupModelScaleTypeSelector();
109  void setupMaxModelScaleFactorSpinBox();
110 
111  void setupObserverList();
112  void setupModelScaleTypeList();
113  void setupObserverModeList();
114 
115  std::string projectionToString( bool is2D );
116  bool projectionFromString( const std::string& is2D );
117 
119  virtual void onExport();
120 
122  virtual void onExportSelected();
123 
126  virtual void onExportFilenameChosen(const std::string&, bool selected);
127 
130  virtual void onImport();
131 
134  virtual void onImportFilenameChosen(const std::string&);
135 
138  virtual void onMerge();
139 
142  virtual void onMergeFilenameChosen( const std::string& );
143 
144  virtual void updateDeleteEnabledState( const std::string& channelKeyToIgnore = "" );
145 
146  virtual void setCurrentObserverSelected();
147 
148  protected:
149  void slot_observerModeNameChanged( int modeId );
150  void slot_observerModeSettingChanged( int modeId );
151 
154  void slot_channelConfigurationModified();
155 
158  void slot_channelToBeDestroyed(const std::string& displayName,
159  const std::string& windowName, const std::string& channelName );
160 
163  void slot_channelConfigurationAdded();
164 
168  void slot_sensorAdded(DtSensor* sensor);
169 
173  void slot_sensorRemoved(DtSensor* sensor);
174 
178  void slot_sensorRenamed(DtSensor* sensor, const std::string& oldName);
179 
181  void slot_observerCreated( DtInputDriver* inputDriver,
182  DtObserver* observer );
183 
185  void slot_observerAboutToBeDestroyed( DtInputDriver* inputDriver,
186  DtObserver* observer );
187 
189  void slot_observerModeChanged( DtObserver* observer, int newObserverMode );
190 
191  protected:
196  // We need this so we don't make an observer that's being deleted the
197  // new selected observer
199  };
200 }
This is the interface for the DtObserverSettingsPage.
Definition: DtObserverSettingsInterface.h:21
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
DtPersistenceControlsInterface * myPersistenceInterface
Definition: DtObserverSettingsLogic.h:194
Abstract interface for controlling persistence of state in a dialog.
Definition: DtPersistenceControlsInterface.h:20
SpeedScalingMode
Definition: DtObserverObject.h:50
A facade for a DtObserverObject.
Definition: DtObserver.h:37
Contains makVrv::DtObserverObject class.
This class&#39;s main responsibility is to handle keyboard and mouse events from OSG (Qt events are route...
Definition: DtInputDriver.h:44
DtObserver * mySelectedObserver
Definition: DtObserverSettingsLogic.h:195
Definition of a sensor.
Definition: DtSensor.h:30
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:26
Logic class for editing definition ObserverMode.
Definition: DtObserverSettingsLogic.h:27
const char int mode
Definition: ioapi.h:38
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
voidpf uLong offset
Definition: ioapi.h:42
DtObserver * myObserverBeingDeleted
Definition: DtObserverSettingsLogic.h:198
DtDe & myDe
Definition: DtObserverSettingsLogic.h:192
DtObserverSettingsInterface * myEditorInterface
Definition: DtObserverSettingsLogic.h:193

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)