VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverController.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 #include <vrvCore/vrvCore.h>
12 
14 #include <vrvCore/DtMouseEvent.h>
16 #include <vrvCore/DtDriver.h>
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23  class DtObserver;
24  class DtKeyMapManager;
25 
30  {
31  public:
32 
34  DtObserverController( DtDe& de, DtKeyMapManager& keyMapManager );
35 
37  virtual ~DtObserverController();
38 
39  void setCurrentObserver( DtObserver* observer );
40  DtObserver* currentObserver() const;
41 
42  virtual void bindFunctions();
43 
44  //
46  //
47  //
49  //
50  virtual void incrementOrbitSpeedGain();
51  virtual void decrementOrbitSpeedGain();
52  virtual void incrementLinearSpeedGain();
53  virtual void decrementLinearSpeedGain();
54  virtual void incrementRotationSpeedGain();
55  virtual void decrementRotationSpeedGain();
56 
59  virtual void toggleFlashlight();
61 
63  virtual void startOrbitingLeft();
64  virtual void stopOrbitingLeft();
65  virtual void startOrbitingRight();
66  virtual void stopOrbitingRight();
67  virtual void startOrbitingUp();
68  virtual void stopOrbitingUp();
69  virtual void startOrbitingDown();
70  virtual void stopOrbitingDown();
71 
72  virtual void startLookUp();
73  virtual void startLookDown();
74  virtual void startLookLeft();
75  virtual void startLookRight();
76  virtual void startLookTiltLeft();
77  virtual void startLookTiltRight();
78 
79  virtual void startLevelYawLeft();
80  virtual void startLevelYawRight();
81  virtual void startLevelPitchUp();
82  virtual void startLevelPitchDown();
83  virtual void startLevelRollRight();
84  virtual void startLevelRollLeft();
85 
86  virtual void startYawLeft();
87  virtual void startYawRight();
88  virtual void startPitchUp();
89  virtual void startPitchDown();
90  virtual void startRollRight();
91  virtual void startRollLeft();
92 
93  virtual void startMoveObserverForward();
94  virtual void startMoveObserverLeft();
95  virtual void startMoveObserverBack();
96  virtual void startMoveObserverRight();
97  virtual void startMoveObserverUp();
98  virtual void startMoveObserverDown();
99 
100  virtual void startMoveLevelObserverForward();
101  virtual void startMoveLevelObserverBack();
102  virtual void startMoveLevelObserverLeft();
103  virtual void startMoveLevelObserverRight();
104  virtual void startMoveLevelObserverUp();
105  virtual void startMoveLevelObserverDown();
106 
107  virtual void startMoveAttachedContextForward();
108  virtual void startMoveAttachedContextBack();
109  virtual void startMoveAttachedContextLeft();
110  virtual void startMoveAttachedContextRight();
111  virtual void startMoveAttachedContextUp();
112  virtual void startMoveAttachedContextDown();
113 
114  virtual void stopLookUp();
115  virtual void stopLookDown();
116  virtual void stopLookLeft();
117  virtual void stopLookRight();
118  virtual void stopLookTiltLeft();
119  virtual void stopLookTiltRight();
120 
121  virtual void stopLevelYawLeft();
122  virtual void stopLevelYawRight();
123  virtual void stopLevelPitchUp();
124  virtual void stopLevelPitchDown();
125  virtual void stopLevelRollRight();
126  virtual void stopLevelRollLeft();
127 
128  virtual void stopYawLeft();
129  virtual void stopYawRight();
130  virtual void stopPitchUp();
131  virtual void stopPitchDown();
132  virtual void stopRollRight();
133  virtual void stopRollLeft();
134 
135  virtual void stopMoveObserverForward();
136  virtual void stopMoveObserverLeft();
137  virtual void stopMoveObserverBack();
138  virtual void stopMoveObserverRight();
139  virtual void stopMoveObserverUp();
140  virtual void stopMoveObserverDown();
141 
142  virtual void stopMoveLevelObserverForward();
143  virtual void stopMoveLevelObserverBack();
144  virtual void stopMoveLevelObserverLeft();
145  virtual void stopMoveLevelObserverRight();
146  virtual void stopMoveLevelObserverUp();
147  virtual void stopMoveLevelObserverDown();
148 
149  virtual void stopMoveAttachedContextForward();
150  virtual void stopMoveAttachedContextBack();
151  virtual void stopMoveAttachedContextLeft();
152  virtual void stopMoveAttachedContextRight();
153  virtual void stopMoveAttachedContextUp();
154  virtual void stopMoveAttachedContextDown();
155 
156  virtual void startSuppressingConstrainToTerrain();
157  virtual void stopSuppressingConstrainToTerrain();
158 
164  virtual void nextAttachMode();
165 
166  virtual void level();
167  virtual void resetCamera();
168  virtual void reset();
169  virtual void toggleSpeedScaling();
170  virtual void toggleConstrainToTerrain();
171  virtual void toggleForceNorthOrientation();
172 
174  virtual void toggleTrackHistories();
175 
176  virtual void toggleConstrainToCenter();
177  virtual void detach();
178  virtual void toggleHideModelOnAttach();
179  virtual void toggleOrientToTargetConstraint();
180  virtual void attachNextAllowed();
181  virtual void attachNextEntityOrProp();
182  virtual void attachPrevAllowed();
183  virtual void attachPrevEntityOrProp();
184 
185  virtual void setMimicAttachType();
186  virtual void setTetherAttachType();
187  virtual void setTrackAttachType();
188 
189  virtual void setOrbitSpeedGain( int gain );
190  virtual void setLinearSpeedGain( int gain );
191  virtual void setRotationSpeedGain( int gain );
192 
193  virtual void clearMotion();
194  virtual void nextObserverMode();
195  virtual void previousObserverMode();
196  virtual void toggleSpeedScalingMode();
197 
199  //@name View Resolution (2D) functions. The resolution is in
201  virtual void incrementViewResolution();
202  virtual void decrementViewResolution();
203  virtual void startIncreasingViewResolution();
204  virtual void stopIncreasingViewResolution();
205  virtual void startDecreasingViewResolution();
206  virtual void stopDecreasingViewResolution();
207  virtual void setViewResolution(double resolution);
209 
210 
212  //@name View Magnification (3D) functions.
213  virtual void incrementViewMagnification();
214  virtual void decrementViewMagnification();
215  virtual void resetViewMagnification();
216  virtual void setViewMagnification(double magnification);
217  //@]
218 
220  //@name LOD Scale (3D) functions.
221  virtual void incrementLodScale();
222  virtual void decrementLodScale();
223  virtual void resetLodScale();
224  virtual void setLodScale(double lodScale);
225  //@]
226 
227  private:
230 
232  DtObserverController& operator=( const DtObserverController& );
233 
234  protected:
235 
238 
241 
242  };
243 
247  {
248  public:
249 
252 
254  virtual ~DtObserverControllerCreator();
255 
257  static DtObserverControllerCreator& instance(DtDe& de);
258 
262  static void registerInstance(DtDe& de, DtObserverControllerCreator* creator);
263 
265  virtual DtObserverController* create( DtDe& de, DtKeyMapManager& keyMapManager );
266 
267  };
268 
269 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Temp, so we can look this up ONCE each event.
Definition: DtObserverController.h:236
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
Creator class for the DtObserverController.
Definition: DtObserverController.h:246
DtObserver * myCurrentObserver
Temp, so we can look this up ONCE each event.
Definition: DtObserverController.h:240
Contains makVrv::DtObserverConfiguration class.
The manager for owning key maps.
Definition: DtKeyMapManager.h:32
A facade for a DtObserverObject.
Definition: DtObserver.h:37
This file contains the declaration for the class DtMouseEvent.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtKeyMapManager class.
Contains makVrv:DtDriver class.
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
This class&#39;s main responsibility is to provide the functions used to control an observer.
Definition: DtObserverController.h:29
DtKeyMapManager & myKeyMapManager
Temp, so we can look this up ONCE each event.
Definition: DtObserverController.h:237
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)