VR-Forces 4.3.1 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) 2015 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  {
53  SpeedScalingAsl
54  };
55 
57  DtObserverObject( DtDe& de, DtUniqueID id, const std::string& name="" );
58 
60  virtual ~DtObserverObject();
61 
63  virtual const std::string& name() const;
64 
66  virtual bool is2D() const;
67 
69  virtual void setIs2D( bool is2D );
70 
72  virtual bool displaySky() const;
73 
75  virtual void setDisplaySky( bool hasSky );
76 
78  virtual bool dynamicLights() const;
79 
81  virtual void setDynamicLights( bool enabled );
82 
84  virtual bool dynamicOcean() const;
85 
87  virtual void setDynamicOcean( bool enabled );
88 
91  virtual bool isScaling() const;
92 
94  virtual void setScaling(bool scale);
95 
97  virtual double scaleFactor() const;
98 
100  virtual void setScaleFactor( double scaleFactor );
101 
103  virtual DtObserverObject::ScaleType scaleType() const;
104 
106  virtual void setScaleType( DtObserverObject::ScaleType scaleType );
107 
109  virtual int modelSet() const;
110 
112  virtual void setModelSet( int modelSet );
113 
115  virtual void setSpeedScalingMode( SpeedScalingMode mode );
116 
118  virtual SpeedScalingMode speedScalingMode() const;
119 
121  virtual void setSpeedScalingAslModeOffset( double offset );
122 
124  virtual double speedScalingAslModeOffset() const;
125 
129  virtual void clearModeSettings();
130 
133  virtual void setModeSetting( int setting, bool value );
134 
137  virtual bool modeSetting( int setting ) const;
138 
139  virtual const ModeSettingsMap& modeSettings() const;
140 
144  virtual void setNameAndRegister( const std::string& name );
145 
151  virtual void tick( double ) {}
152 
154  virtual void setTerrainIsGlobal(bool global);
155 
157  virtual double altitude() const = 0;
158 
160  virtual double viewResolution() const { return 1.; };
161 
164  virtual void setViewMagnification( double mag ) = 0;
165 
167  virtual double viewMagnification() const = 0;
168 
169  //
170  //
172  //
173  //
174 
176 
177 
178  virtual void startMoveObserverRight() {}
179  virtual void stopMoveObserverRight() {}
180  virtual void moveObserverRight( double ) {}
181 
183 
184 
185  virtual void startMoveObserverForward() {}
186  virtual void stopMoveObserverForward() {}
187  virtual void moveObserverForward( double ) {}
189 
191 
192 
193  virtual void startMoveObserverUp() {}
194  virtual void stopMoveObserverUp() {}
195  virtual void moveObserverUp( double ) {}
197 
199 
200 
201  virtual void startMoveObserverLeft() {}
202  virtual void stopMoveObserverLeft() {}
203  virtual void moveObserverLeft( double ) {}
205 
207 
208 
209  virtual void startMoveObserverBack() {}
210  virtual void stopMoveObserverBack() {}
211  virtual void moveObserverBack( double ) {}
213 
215 
216 
217  virtual void startMoveObserverDown() {}
218  virtual void stopMoveObserverDown() {}
219  virtual void moveObserverDown( double ) {}
221 
223 
224 
225 
226  virtual void startMoveLevelObserverRight() {}
227  virtual void stopMoveLevelObserverRight() {}
228  virtual void moveLevelObserverRight( double ) {}
230 
232 
233 
234 
237  virtual void moveLevelObserverForward( double ) {}
239 
241 
242 
243 
244  virtual void startMoveLevelObserverUp() {}
245  virtual void stopMoveLevelObserverUp() {}
246  virtual void moveLevelObserverUp( double ) {}
248 
250 
251 
252 
253  virtual void startMoveLevelObserverLeft() {}
254  virtual void stopMoveLevelObserverLeft() {}
255  virtual void moveLevelObserverLeft( double ) {}
257 
259 
260 
261 
262  virtual void startMoveLevelObserverBack() {}
263  virtual void stopMoveLevelObserverBack() {}
264  virtual void moveLevelObserverBack( double ) {}
266 
268 
269 
270  virtual void startMoveLevelObserverDown() {}
271  virtual void stopMoveLevelObserverDown() {}
272  virtual void moveLevelObserverDown( double ) {}
274 
276 
277 
278  virtual void startMoveAttachedRight() {}
279  virtual void stopMoveAttachedRight() {}
280  virtual void moveAttachedRight( double ) {}
281 
283 
284 
285  virtual void startMoveAttachedForward() {}
286  virtual void stopMoveAttachedForward() {}
287  virtual void moveAttachedForward( double ) {}
289 
291 
292 
293  virtual void startMoveAttachedUp() {}
294  virtual void stopMoveAttachedUp() {}
295  virtual void moveAttachedUp( double ) {}
297 
299 
300 
301  virtual void startMoveAttachedLeft() {}
302  virtual void stopMoveAttachedLeft() {}
303  virtual void moveAttachedLeft( double ) {}
305 
307 
308 
309  virtual void startMoveAttachedBack() {}
310  virtual void stopMoveAttachedBack() {}
311  virtual void moveAttachedBack( double ) {}
313 
315 
316 
317  virtual void startMoveAttachedDown() {}
318  virtual void stopMoveAttachedDown() {}
319  virtual void moveAttachedDown( double ) {}
321 
323 
324 
325 
326  virtual void startMoveLevelAttachedRight() {}
327  virtual void stopMoveLevelAttachedRight() {}
328  virtual void moveLevelAttachedRight( double ) {}
330 
332 
333 
334 
337  virtual void moveLevelAttachedForward( double ) {}
339 
341 
342 
343 
344  virtual void startMoveLevelAttachedUp() {}
345  virtual void stopMoveLevelAttachedUp() {}
346  virtual void moveLevelAttachedUp( double ) {}
348 
350 
351 
352 
353  virtual void startMoveLevelAttachedLeft() {}
354  virtual void stopMoveLevelAttachedLeft() {}
355  virtual void moveLevelAttachedLeft( double ) {}
357 
359 
360 
361 
362  virtual void startMoveLevelAttachedBack() {}
363  virtual void stopMoveLevelAttachedBack() {}
364  virtual void moveLevelAttachedBack( double ) {}
366 
368 
369 
370  virtual void startMoveLevelAttachedDown() {}
371  virtual void stopMoveLevelAttachedDown() {}
372  virtual void moveLevelAttachedDown( double ) {}
374 
376 
377 
380  virtual void moveAttachedContextRight( double ) {}
382 
384 
385 
388  virtual void moveAttachedContextForward( double ) {}
390 
392 
393 
394  virtual void startMoveAttachedContextUp() {}
395  virtual void stopMoveAttachedContextUp() {}
396  virtual void moveAttachedContextUp( double ) {}
398 
400 
401 
403  virtual void stopMoveAttachedContextLeft() {}
404  virtual void moveAttachedContextLeft( double ) {}
406 
408 
409 
411  virtual void stopMoveAttachedContextBack() {}
412  virtual void moveAttachedContextBack( double ) {}
414 
416 
418  virtual void stopMoveAttachedContextDown() {}
419  virtual void moveAttachedContextDown( double ) {}
421 
423 
424 
425  virtual void startYawLeft() {}
426  virtual void stopYawLeft() {}
427  virtual void rotateYawLeft( double rads ) {}
428  virtual void rotateFlashlightYawLeft( double rads ) {}
430 
432 
433 
434 
435  virtual void startYawRight() {}
436  virtual void stopYawRight() {}
437  virtual void rotateYawRight( double rads ) {}
438  virtual void rotateFlashlightYawRight( double rads ) {}
440 
442 
443 
444  virtual void startPitchUp() {}
445  virtual void stopPitchUp() {}
446  virtual void rotatePitchUp( double rads ) {}
447  virtual void rotateFlashlightPitchUp( double rads ) {}
449 
451 
452 
453  virtual void startPitchDown() {}
454  virtual void stopPitchDown() {}
455  virtual void rotatePitchDown( double rads ) {}
456  virtual void rotateFlashlightPitchDown( double rads ) {}
458 
460 
461 
462  virtual void startRollLeft() {}
463  virtual void stopRollLeft() {}
464  virtual void rollLeft( double rads ) {}
466 
468 
469 
470  virtual void startRollRight() {}
471  virtual void stopRollRight() {}
472  virtual void rollRight( double rads ) {}
474 
476 
477 
478  virtual void startLevelYawLeft() {}
479  virtual void stopLevelYawLeft() {}
480  virtual void rotateLevelYawLeft( double rads ) {}
482 
484 
485 
486 
487  virtual void startLevelYawRight() {}
488  virtual void stopLevelYawRight() {}
489  virtual void rotateLevelYawRight( double rads ) {}
491 
493 
494 
495  virtual void startLevelPitchUp() {}
496  virtual void stopLevelPitchUp() {}
497  virtual void rotateLevelPitchUp( double rads ) {}
499 
501 
502 
503  virtual void startLevelPitchDown() {}
504  virtual void stopLevelPitchDown() {}
505  virtual void rotateLevelPitchDown( double rads ) {}
507 
509 
510 
511  virtual void startLevelRollLeft() {}
512  virtual void stopLevelRollLeft() {}
513  virtual void rollLevelLeft( double rads ) {}
515 
517 
518 
519  virtual void startLevelRollRight() {}
520  virtual void stopLevelRollRight() {}
521  virtual void rollLevelRight( double rads ) {}
523 
525 
526 
527  virtual void startOrbitingLeft() {}
528  virtual void stopOrbitingLeft() {}
529  virtual void orbitLeft( double rads ) {}
531 
533 
534 
535  virtual void startOrbitingRight() {}
536  virtual void stopOrbitingRight() {}
537  virtual void orbitRight( double rads ) {}
539 
541 
542 
543  virtual void startOrbitingUp( ) {}
544  virtual void stopOrbitingUp() {}
545  virtual void orbitUp( double rads ) {}
547 
549 
550 
551  virtual void startOrbitingDown() {}
552  virtual void stopOrbitingDown() {}
553  virtual void orbitDown( double rads ) {}
555 
559  virtual void level() {}
560 
562  virtual void setLocation( double x, double y, double z ) {}
563 
566  virtual void jumpTo( double x, double y, double z ) {}
567 
570  virtual void jumpTo( DtUniqueID id ) {}
571 
572  virtual void orientTo( double x, double y, double z ) {} // = 0;
573 
575  virtual void dragTerrain( double lastX, double lastY, double lastZ,
576  double currX, double currY, double currZ ) {}
577 
578  virtual void dragTerrain2( double myStartDragX, double myStartDragY,
579  double myStartDragZ, int deltaMouseX, int deltaMouseY ) {}
580 
581  virtual void dragGravityUp( double windowUnits ) {}
582  virtual void dragGravityDown( double windowUnits ) {}
583  virtual void dragGravityLeft( double windowUnits ) {}
584  virtual void dragGravityRight( double windowUnits ) {}
585  virtual void scrollObserverForward( int wheelUnits ) {}
586  virtual void scrollObserverBack( int wheelUnits ) {}
587  virtual void scrollLevelObserverForward( int wheelUnits ) {}
588  virtual void scrollLevelObserverBack( int wheelUnits ) {}
589 
590  virtual void scrollFlashlightWider( int wheelUnits ) {}
591  virtual void scrollFlashlightNarrower( int wheelUnits ) {}
592 
593  //
594  //
596  //
597  //
598 
600 
601 
602  virtual void startLookLeft() {}
603  virtual void stopLookLeft() {}
604  virtual void lookLeft( double rads ) {}
606 
608 
609 
610  virtual void startLookRight() {}
611  virtual void stopLookRight() {}
612  virtual void lookRight( double rads ) {}
614 
616 
617 
618  virtual void startLookUp( ) {}
619  virtual void stopLookUp() {}
620  virtual void lookUp( double rads ) {}
622 
624 
625 
626  virtual void startLookDown() {}
627  virtual void stopLookDown() {}
628  virtual void lookDown( double rads ) {}
630 
632 
633 
634  virtual void startLookTiltRight() {}
635  virtual void stopLookTiltRight() {}
636  virtual void lookTiltRight( double rads ) {}
638 
640 
641 
642  virtual void startLookTiltLeft() {}
643  virtual void stopLookTiltLeft() {}
644  virtual void lookTiltLeft( double rads ) {}
646 
648  virtual void resetCamera() {}
649 
650  //
651  //
653  //
654  //
655 
657  virtual void setOrbitSpeed( double speed ) {}
658 
660  virtual void setSpeedScaledSpeed( double speed ) {}
661 
663  virtual void setLinearSpeed( double speed ) {}
664 
666  virtual void setRotationSpeed( double speed ) {}
667 
669  virtual void setMaxLinearSpeed( double maxSpeed ) {}
670 
672  virtual void setMinLinearSpeed( double minSpeed ) {}
673 
675  virtual void setLinearScaledSpeedGain( double gain ) {}
676 
680  virtual void resetOrientation() {}
681 
685  virtual void gotoTerrainCenter( DtUniqueID terrainPatch, bool retry ) {}
686 
688  virtual void resetAttachment() {}
689 
690 
692  virtual void stopAll() {}
693 
694  virtual void attachToObjects( const std::vector<DtUniqueID>& ids ) {}
695  virtual void setSecondaryAttachment( const std::vector<DtUniqueID>& ids ) {}
696 
698  virtual std::vector<DtUniqueID> currentAttachments() const = 0;
699 
700  virtual void attachToPart( int partId) {}
701  virtual void detach() {}
702 
704  virtual void setSpeedScaling( bool trueFalse ) {}
705 
707  virtual void setConstrainToTerrain( bool trueFalse ) {}
708  virtual void setConstrainToCenter( bool trueFalse ) {}
709 
711 
712  virtual void increaseViewResolution() {}
715  virtual void decreaseViewResolution() {}
718  virtual void setViewResolution( double resolution ) {}
720 
723  virtual void suppressConstrainToTerrain( bool trueFalse ) {}
725 
726  virtual void setHideModelOnAttach( bool hide ) {}
727 
731  virtual void setAttachmentHas3DCockpit( bool cockpit ) {}
732 
733  virtual void setOrientToTargetConstraint( bool orient ) {}
734  virtual void setOrbiting( bool orient ) {}
735  virtual void setOrientCameraToTargetConstraint( bool orient ) {}
736 
738  virtual void setFlashlightEnabled(bool enabled);
739 
741  virtual void setCameraShakeRotation(double x, double y, double z, double w);
742 
744  virtual void getCameraShakeRotation(double& x, double& y, double& z, double& w);
745 
747  virtual bool flashlightOn() const;
748 
749  virtual void getLocation( double &x, double &y, double& z ) const
750  {
751  x = y = z = 0.;
752  }
753 
754  virtual void getOrientation( double& psi, double& theta, double& phi ) const
755  {
756  psi = theta = phi = 0.;
757  }
758 
760  virtual void getTopographicOrientation( double& psi, double& theta, double& phi ) const
761  {
762  psi = theta = phi = 0.;
763  }
764 
766  virtual void getLinearVelocity( double &x, double &y, double &z ) const
767  {
768  x = y = z = 0;
769  }
770 
772  virtual void getRotationalVelocity( double& x, double& y, double& z) const
773  {
774  x = y = z = 0.;
775  }
776 
777  virtual void getObserverOffsetVector( double& x, double& y, double& z ) const
778  {
779  x = y = z = 0.;
780  }
781 
783  virtual void setAttachedLocation( double x, double y, double z ) {}
784 
786  virtual void setOrientation( double psi, double theta, double phi ) {}
787 
789  virtual void setTopographicOrientation( double psi, double theta, double phi ) {}
790 
792  virtual void setOrientation( double x, double y, double z, double w ) {}
793 
795  virtual void setAttachedOrientation( double psi, double theta, double phi ) {}
796 
797  virtual void setLocalModelScalingEnabled( bool enabled ) {}
798 
799  virtual void setLocalModelScalingAmount( float amount ) {}
800 
801  virtual void setObserverOffsetVector( double x, double y, double z ) {}
802 
803  virtual void getAttachedRotationOffset( double& x, double& y, double& z, double& w ) const
804  {
805  x = y = z = 0.;
806  w = 1.;
807  }
808 
809  virtual void getOrientation( double& x, double& y, double& z, double& w ) const
810  {
811  x = y = z = 0.;
812  w = 1.;
813  }
814 
815  virtual void setAttachedRotationOffset( double x, double y, double z,
816  double w ) {}
817 
818  virtual void getCameraUp(double& x, double& y, double& z)
819  {
820  x = y = z = 0.;
821  }
822 
823  virtual void getCameraFront(double& x, double& y, double& z)
824  {
825  x = y = z = 0.;
826  }
827 
828 
829  virtual void getCameraRight(double& x, double& y, double& z)
830  {
831  x = y = z = 0.;
832  }
833 
836  virtual bool isMoving() const { return false; }
837 
838  virtual double topographicHeading() const
839  {
840  return 0.0;
841  }
842 
844  bool isGlobalTerrain() const
845  {
846  return myTerrainIsGlobalFlag;
847  }
848 
849  // Sends the location of the observer on the master to all others; only used
850  // if different
851  virtual void synchronizeLocation( double x, double y, double z ) {}
852 
853  // Sends the orientation of the observer on the master to all others; only used
854  // if different
855  virtual void synchronizeOrientation( double x, double y, double z, double w ) {}
856 
858  virtual void setSensor(const std::string& sensorName);
859 
861  virtual DtSensor* findSensor() const;
862 
864  virtual void disableSensor();
865 
866  private:
867 
870 
872  DtObserverObject& operator=( const DtObserverObject& );
873 
874  protected:
875 
877  std::string myName;
878  bool myIs2D;
888  };
889 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)