VR-Vantage API Documentation
DtObserverController.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtObserverController.h,v $ $Revision: 1.11 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 #include <vrvCore/vrvCore.h>
15 
17 #include <vrvCore/DtMouseEvent.h>
19 #include <vrvCore/DtDriver.h>
21 
22 #include <string>
23 
24 namespace makVrv
25 {
26 
27  class DtDe;
28  class DtObserver;
29  class DtKeyMapManager;
30 
35  {
36  public:
37 
39  DtObserverController( DtDe& de, DtKeyMapManager& keyMapManager );
40 
42  virtual ~DtObserverController();
43 
44  void setCurrentObserver( DtObserver* observer );
45  DtObserver* currentObserver() const;
46 
47  virtual void bindFunctions();
48 
49  //
51  //
52  //
54  //
55  virtual void incrementOrbitSpeedGain();
56  virtual void decrementOrbitSpeedGain();
57  virtual void incrementLinearSpeedGain();
58  virtual void decrementLinearSpeedGain();
59  virtual void incrementRotationSpeedGain();
60  virtual void decrementRotationSpeedGain();
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 
175  virtual void toggleViewControl();
177  virtual void toggleTrackHistories();
178 
179  virtual void toggleConstrainToCenter();
180  virtual void detach();
181  virtual void toggleHideModelOnAttach();
182  virtual void toggleOrientToTargetConstraint();
183  virtual void attachNextAllowed();
184  virtual void attachNextEntityOrProp();
185  virtual void attachPrevAllowed();
186  virtual void attachPrevEntityOrProp();
187 
188  virtual void setMimicAttachType();
189  virtual void setTetherAttachType();
190  virtual void setTrackAttachType();
191 
192  virtual void setOrbitSpeedGain( int gain );
193  virtual void setLinearSpeedGain( int gain );
194  virtual void setRotationSpeedGain( int gain );
195 
196  virtual void clearMotion();
197  virtual void nextObserverMode();
198  virtual void previousObserverMode();
199 
201  //@name View Resolution (2D) functions. The resolution is in
203  virtual void incrementViewResolution();
204  virtual void decrementViewResolution();
205  virtual void startIncreasingViewResolution();
206  virtual void stopIncreasingViewResolution();
207  virtual void startDecreasingViewResolution();
208  virtual void stopDecreasingViewResolution();
209  virtual void setViewResolution(double resolution);
211 
212 
214  //@name View Magnification (3D) functions.
215  virtual void incrementViewMagnification();
216  virtual void decrementViewMagnification();
217  virtual void resetViewMagnification();
218  virtual void setViewMagnification(double magnification);
219  //@]
220 
221  private:
224 
226  DtObserverController& operator=( const DtObserverController& );
227 
228  protected:
229 
232 
235 
236  };
237 
241  {
242  public:
243 
246 
248  virtual ~DtObserverControllerCreator();
249 
251  static DtObserverControllerCreator& instance(DtDe& de);
252 
256  static void registerInstance(DtDe& de, DtObserverControllerCreator* creator);
257 
259  virtual DtObserverController* create( DtDe& de, DtKeyMapManager& keyMapManager );
260 
261  };
262 
263 }


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)