VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtObserverObject.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2013 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 
15 #include <string>
16 #include <vector>
17 #include <map>
18 
19 namespace makVrv
20 {
21 
22  class DtDe;
23  class DtInputDriver;
24  class DtSensor;
25 
30  {
31 
32  public:
33 
34  typedef std::map<int, bool> ModeSettingsMap;
35 
36  enum ScaleType { XRScale, LinearScale };
37 
39  {
47  AttachTypeSpaceFollow
48  };
49 
51  DtObserverObject( DtDe& de, DtUniqueID id, const std::string& name="" );
52 
54  virtual ~DtObserverObject();
55 
57  virtual const std::string& name() const;
58 
60  virtual bool is2D() const;
61 
63  virtual void setIs2D( bool is2D );
64 
66  virtual bool displaySky() const;
67 
69  virtual void setDisplaySky( bool hasSky );
70 
72  virtual bool dynamicLights() const;
73 
75  virtual void setDynamicLights( bool enabled );
76 
78  virtual bool dynamicOcean() const;
79 
81  virtual void setDynamicOcean( bool enabled );
82 
85  virtual bool isScaling() const;
86 
88  virtual void setScaling(bool scale);
89 
91  virtual double scaleFactor() const;
92 
94  virtual void setScaleFactor( double scaleFactor );
95 
97  virtual DtObserverObject::ScaleType scaleType() const;
98 
100  virtual void setScaleType( DtObserverObject::ScaleType scaleType );
101 
103  virtual int modelSet() const;
104 
106  virtual void setModelSet( int modelSet );
107 
111  virtual void clearModeSettings();
112 
115  virtual void setModeSetting( int setting, bool value );
116 
119  virtual bool modeSetting( int setting ) const;
120 
121  virtual const ModeSettingsMap& modeSettings() const;
122 
126  virtual void setNameAndRegister( const std::string& name );
127 
133  virtual void tick( double ) {}
134 
136  virtual void setTerrainIsGlobal(bool global);
137 
139  virtual double altitude() const = 0;
140 
142  virtual double viewResolution() const { return 1.; };
143 
146  virtual void setViewMagnification( double mag ) = 0;
147 
148  //
149  //
151  //
152  //
153 
155 
156 
157  virtual void startMoveObserverRight() {}
158  virtual void stopMoveObserverRight() {}
159  virtual void moveObserverRight( double ) {}
160 
162 
163 
164  virtual void startMoveObserverForward() {}
165  virtual void stopMoveObserverForward() {}
166  virtual void moveObserverForward( double ) {}
168 
170 
171 
172  virtual void startMoveObserverUp() {}
173  virtual void stopMoveObserverUp() {}
174  virtual void moveObserverUp( double ) {}
176 
178 
179 
180  virtual void startMoveObserverLeft() {}
181  virtual void stopMoveObserverLeft() {}
182  virtual void moveObserverLeft( double ) {}
184 
186 
187 
188  virtual void startMoveObserverBack() {}
189  virtual void stopMoveObserverBack() {}
190  virtual void moveObserverBack( double ) {}
192 
194 
195 
196  virtual void startMoveObserverDown() {}
197  virtual void stopMoveObserverDown() {}
198  virtual void moveObserverDown( double ) {}
200 
202 
203 
204 
205  virtual void startMoveLevelObserverRight() {}
206  virtual void stopMoveLevelObserverRight() {}
207  virtual void moveLevelObserverRight( double ) {}
209 
211 
212 
213 
216  virtual void moveLevelObserverForward( double ) {}
218 
220 
221 
222 
223  virtual void startMoveLevelObserverUp() {}
224  virtual void stopMoveLevelObserverUp() {}
225  virtual void moveLevelObserverUp( double ) {}
227 
229 
230 
231 
232  virtual void startMoveLevelObserverLeft() {}
233  virtual void stopMoveLevelObserverLeft() {}
234  virtual void moveLevelObserverLeft( double ) {}
236 
238 
239 
240 
241  virtual void startMoveLevelObserverBack() {}
242  virtual void stopMoveLevelObserverBack() {}
243  virtual void moveLevelObserverBack( double ) {}
245 
247 
248 
249  virtual void startMoveLevelObserverDown() {}
250  virtual void stopMoveLevelObserverDown() {}
251  virtual void moveLevelObserverDown( double ) {}
253 
255 
256 
257  virtual void startMoveAttachedRight() {}
258  virtual void stopMoveAttachedRight() {}
259  virtual void moveAttachedRight( double ) {}
260 
262 
263 
264  virtual void startMoveAttachedForward() {}
265  virtual void stopMoveAttachedForward() {}
266  virtual void moveAttachedForward( double ) {}
268 
270 
271 
272  virtual void startMoveAttachedUp() {}
273  virtual void stopMoveAttachedUp() {}
274  virtual void moveAttachedUp( double ) {}
276 
278 
279 
280  virtual void startMoveAttachedLeft() {}
281  virtual void stopMoveAttachedLeft() {}
282  virtual void moveAttachedLeft( double ) {}
284 
286 
287 
288  virtual void startMoveAttachedBack() {}
289  virtual void stopMoveAttachedBack() {}
290  virtual void moveAttachedBack( double ) {}
292 
294 
295 
296  virtual void startMoveAttachedDown() {}
297  virtual void stopMoveAttachedDown() {}
298  virtual void moveAttachedDown( double ) {}
300 
302 
303 
304 
305  virtual void startMoveLevelAttachedRight() {}
306  virtual void stopMoveLevelAttachedRight() {}
307  virtual void moveLevelAttachedRight( double ) {}
309 
311 
312 
313 
316  virtual void moveLevelAttachedForward( double ) {}
318 
320 
321 
322 
323  virtual void startMoveLevelAttachedUp() {}
324  virtual void stopMoveLevelAttachedUp() {}
325  virtual void moveLevelAttachedUp( double ) {}
327 
329 
330 
331 
332  virtual void startMoveLevelAttachedLeft() {}
333  virtual void stopMoveLevelAttachedLeft() {}
334  virtual void moveLevelAttachedLeft( double ) {}
336 
338 
339 
340 
341  virtual void startMoveLevelAttachedBack() {}
342  virtual void stopMoveLevelAttachedBack() {}
343  virtual void moveLevelAttachedBack( double ) {}
345 
347 
348 
349  virtual void startMoveLevelAttachedDown() {}
350  virtual void stopMoveLevelAttachedDown() {}
351  virtual void moveLevelAttachedDown( double ) {}
353 
355 
356 
359  virtual void moveAttachedContextRight( double ) {}
361 
363 
364 
367  virtual void moveAttachedContextForward( double ) {}
369 
371 
372 
373  virtual void startMoveAttachedContextUp() {}
374  virtual void stopMoveAttachedContextUp() {}
375  virtual void moveAttachedContextUp( double ) {}
377 
379 
380 
382  virtual void stopMoveAttachedContextLeft() {}
383  virtual void moveAttachedContextLeft( double ) {}
385 
387 
388 
390  virtual void stopMoveAttachedContextBack() {}
391  virtual void moveAttachedContextBack( double ) {}
393 
395 
397  virtual void stopMoveAttachedContextDown() {}
398  virtual void moveAttachedContextDown( double ) {}
400 
402 
403 
404  virtual void startYawLeft() {}
405  virtual void stopYawLeft() {}
406  virtual void rotateYawLeft( double rads ) {}
408 
410 
411 
412 
413  virtual void startYawRight() {}
414  virtual void stopYawRight() {}
415  virtual void rotateYawRight( double rads ) {}
417 
419 
420 
421  virtual void startPitchUp() {}
422  virtual void stopPitchUp() {}
423  virtual void rotatePitchUp( double rads ) {}
425 
427 
428 
429  virtual void startPitchDown() {}
430  virtual void stopPitchDown() {}
431  virtual void rotatePitchDown( double rads ) {}
433 
435 
436 
437  virtual void startRollLeft() {}
438  virtual void stopRollLeft() {}
439  virtual void rollLeft( double rads ) {}
441 
443 
444 
445  virtual void startRollRight() {}
446  virtual void stopRollRight() {}
447  virtual void rollRight( double rads ) {}
449 
451 
452 
453  virtual void startLevelYawLeft() {}
454  virtual void stopLevelYawLeft() {}
455  virtual void rotateLevelYawLeft( double rads ) {}
457 
459 
460 
461 
462  virtual void startLevelYawRight() {}
463  virtual void stopLevelYawRight() {}
464  virtual void rotateLevelYawRight( double rads ) {}
466 
468 
469 
470  virtual void startLevelPitchUp() {}
471  virtual void stopLevelPitchUp() {}
472  virtual void rotateLevelPitchUp( double rads ) {}
474 
476 
477 
478  virtual void startLevelPitchDown() {}
479  virtual void stopLevelPitchDown() {}
480  virtual void rotateLevelPitchDown( double rads ) {}
482 
484 
485 
486  virtual void startLevelRollLeft() {}
487  virtual void stopLevelRollLeft() {}
488  virtual void rollLevelLeft( double rads ) {}
490 
492 
493 
494  virtual void startLevelRollRight() {}
495  virtual void stopLevelRollRight() {}
496  virtual void rollLevelRight( double rads ) {}
498 
500 
501 
502  virtual void startOrbitingLeft() {}
503  virtual void stopOrbitingLeft() {}
504  virtual void orbitLeft( double rads ) {}
506 
508 
509 
510  virtual void startOrbitingRight() {}
511  virtual void stopOrbitingRight() {}
512  virtual void orbitRight( double rads ) {}
514 
516 
517 
518  virtual void startOrbitingUp( ) {}
519  virtual void stopOrbitingUp() {}
520  virtual void orbitUp( double rads ) {}
522 
524 
525 
526  virtual void startOrbitingDown() {}
527  virtual void stopOrbitingDown() {}
528  virtual void orbitDown( double rads ) {}
530 
534  virtual void level() {}
535 
537  virtual void setLocation( double x, double y, double z ) {}
538 
541  virtual void jumpTo( double x, double y, double z ) {}
542 
545  virtual void jumpTo( DtUniqueID id ) {}
546 
547  virtual void orientTo( double x, double y, double z ) {} // = 0;
548 
550  virtual void dragTerrain( double lastX, double lastY, double lastZ,
551  double currX, double currY, double currZ ) {}
552 
553  virtual void dragTerrain2( double myStartDragX, double myStartDragY,
554  double myStartDragZ, int deltaMouseX, int deltaMouseY ) {}
555 
556  virtual void dragGravityUp( double windowUnits ) {}
557  virtual void dragGravityDown( double windowUnits ) {}
558  virtual void dragGravityLeft( double windowUnits ) {}
559  virtual void dragGravityRight( double windowUnits ) {}
560  virtual void scrollObserverForward( int wheelUnits ) {}
561  virtual void scrollObserverBack( int wheelUnits ) {}
562  virtual void scrollLevelObserverForward( int wheelUnits ) {}
563  virtual void scrollLevelObserverBack( int wheelUnits ) {}
564 
565  //
566  //
568  //
569  //
570 
572 
573 
574  virtual void startLookLeft() {}
575  virtual void stopLookLeft() {}
576  virtual void lookLeft( double rads ) {}
578 
580 
581 
582  virtual void startLookRight() {}
583  virtual void stopLookRight() {}
584  virtual void lookRight( double rads ) {}
586 
588 
589 
590  virtual void startLookUp( ) {}
591  virtual void stopLookUp() {}
592  virtual void lookUp( double rads ) {}
594 
596 
597 
598  virtual void startLookDown() {}
599  virtual void stopLookDown() {}
600  virtual void lookDown( double rads ) {}
602 
604 
605 
606  virtual void startLookTiltRight() {}
607  virtual void stopLookTiltRight() {}
608  virtual void lookTiltRight( double rads ) {}
610 
612 
613 
614  virtual void startLookTiltLeft() {}
615  virtual void stopLookTiltLeft() {}
616  virtual void lookTiltLeft( double rads ) {}
618 
620  virtual void resetCamera() {}
621 
622  //
623  //
625  //
626  //
627 
629  virtual void setOrbitSpeed( double speed ) {}
630 
632  virtual void setSpeedScaledSpeed( double speed ) {}
633 
635  virtual void setLinearSpeed( double speed ) {}
636 
638  virtual void setRotationSpeed( double speed ) {}
639 
641  virtual void setMaxLinearSpeed( double maxSpeed ) {}
642 
644  virtual void setMinLinearSpeed( double minSpeed ) {}
645 
647  virtual void setLinearScaledSpeedGain( double gain ) {}
648 
652  virtual void resetOrientation() {}
653 
657  virtual void gotoTerrainCenter( DtUniqueID terrainPatch, bool retry ) {}
658 
660  virtual void resetAttachment() {}
661 
662 
664  virtual void stopAll() {}
665 
666  virtual void attachToObjects( const std::vector<DtUniqueID>& ids ) {}
667  virtual void setSecondaryAttachment( const std::vector<DtUniqueID>& ids ) {}
668 
670  virtual std::vector<DtUniqueID> currentAttachments() const = 0;
671 
672  virtual void attachToPart( int partId) {}
673  virtual void detach() {}
674 
676  virtual void setSpeedScaling( bool trueFalse ) {}
677 
679  virtual void setConstrainToTerrain( bool trueFalse ) {}
680  virtual void setConstrainToCenter( bool trueFalse ) {}
681 
683 
684  virtual void increaseViewResolution() {}
687  virtual void decreaseViewResolution() {}
690  virtual void setViewResolution( double resolution ) {}
692 
695  virtual void suppressConstrainToTerrain( bool trueFalse ) {}
697 
698  virtual void setHideModelOnAttach( bool hide ) {}
699  virtual void setOrientToTargetConstraint( bool orient ) {}
700  virtual void setOrbiting( bool orient ) {}
701  virtual void setOrientCameraToTargetConstraint( bool orient ) {}
702 
703  virtual void getLocation( double &x, double &y, double& z ) const
704  {
705  x = y = z = 0.;
706  }
707 
708  virtual void getOrientation( double& psi, double& theta, double& phi ) const
709  {
710  psi = theta = phi = 0.;
711  }
712 
714  virtual void getLinearVelocity( double &x, double &y, double &z ) const
715  {
716  x = y = z = 0;
717  }
718 
720  virtual void getRotationalVelocity( double& x, double& y, double& z) const
721  {
722  x = y = z = 0.;
723  }
724 
725  virtual void getObserverOffsetVector( double& x, double& y, double& z ) const
726  {
727  x = y = z = 0.;
728  }
729 
731  virtual void setAttachedLocation( double x, double y, double z ) {}
732 
734  virtual void setOrientation( double psi, double theta, double phi ) {}
735 
737  virtual void setOrientation( double x, double y, double z, double w ) {}
738 
740  virtual void setAttachedOrientation( double psi, double theta, double phi ) {}
741 
742  virtual void setLocalModelScalingEnabled( bool enabled ) {}
743 
744  virtual void setLocalModelScalingAmount( float amount ) {}
745 
746  virtual void setObserverOffsetVector( double x, double y, double z ) {}
747 
748  virtual void getAttachedRotationOffset( double& x, double& y, double& z, double& w ) const
749  {
750  x = y = z = 0.;
751  w = 1.;
752  }
753 
754  virtual void getOrientation( double& x, double& y, double& z, double& w ) const
755  {
756  x = y = z = 0.;
757  w = 1.;
758  }
759 
760  virtual void setAttachedRotationOffset( double x, double y, double z,
761  double w ) {}
762 
765  virtual bool isMoving() const { return false; }
766 
767  virtual double topographicHeading() const
768  {
769  return 0.0;
770  }
771 
773  bool isGlobalTerrain() const
774  {
775  return myTerrainIsGlobalFlag;
776  }
777 
778  // Sends the location of the observer on the master to all others; only used
779  // if different
780  virtual void synchronizeLocation( double x, double y, double z ) {}
781 
782  // Sends the orientation of the observer on the master to all others; only used
783  // if different
784  virtual void synchronizeOrientation( double x, double y, double z, double w ) {}
785 
787  virtual void setSensor(const std::string& sensorName);
788 
790  virtual DtSensor* findSensor() const;
791 
793  virtual void disableSensor();
794 
795  private:
796 
799 
801  DtObserverObject& operator=( const DtObserverObject& );
802 
803  protected:
804 
806  std::string myName;
807  bool myIs2D;
814  };
815 
816 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)