VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverObject.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 <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 
37  {
47  AttachTypeMimicLocationTrack
48  };
49 
51  {
53  SpeedScalingMsl
54  };
55 
56  enum NorthType
57  {
59  NorthTypeMagneticNorth
60  };
61 
63  DtObserverObject( DtDe& de, DtUniqueID id, const std::string& name="" );
64 
66  virtual ~DtObserverObject();
67 
69  virtual const std::string& name() const;
70 
72  virtual bool is2D() const;
73 
75  virtual void setIs2D( bool is2D );
76 
78  virtual bool displaySky() const;
79 
81  virtual void setDisplaySky( bool hasSky );
82 
84  virtual bool dynamicLights() const;
85 
87  virtual void setDynamicLights( bool enabled );
88 
90  virtual bool dynamicOcean() const;
91 
93  virtual void setDynamicOcean( bool enabled );
94 
97  virtual bool isScaling() const;
98 
100  virtual void setScaling(bool scale);
101 
103  virtual double scaleFactor() const;
104 
106  virtual void setScaleFactor( double scaleFactor );
107 
110  virtual void setMaxModelScaleFactor(double maxModelScaleFactor);
111 
113  virtual double maxModelScaleFactor() const;
114 
116  void setLodScaleCenterEnabled(bool enabled);
118  bool lodScaleCenterEnabled() const;
120 
122  void setLodScaleCenterMagMinLimit(double limit);
124  double lodScaleCenterMagMinLimit() const;
126 
128  virtual DtObserverObject::NorthType northType() const;
129 
131  virtual void setNorthType(DtObserverObject::NorthType northType);
132 
134  virtual const std::string& scaleType() const;
135 
137  virtual void setScaleType(const std::string& scaleType);
138 
140  virtual int modelSet() const;
141 
143  virtual void setModelSet( int modelSet );
144 
146  virtual void setSpeedScalingMode( SpeedScalingMode mode );
147 
149  virtual SpeedScalingMode speedScalingMode() const;
150 
152  virtual void setSpeedScalingMslModeOffset( double offset );
153 
155  virtual double speedScalingMslModeOffset() const;
156 
159  void setScalingIntersectionTerrainSkinOnly(bool enabled);
161  bool scalingIntersectionTerrainSkinOnly() const;
162 
166  virtual void clearModeSettings();
167 
170  virtual void setModeSetting( int setting, bool value );
171 
174  virtual bool modeSetting( int setting ) const;
175 
176  virtual const ModeSettingsMap& modeSettings() const;
177 
181  virtual void setNameAndRegister( const std::string& name );
182 
188  virtual void tick( double ) {}
189 
191  virtual void setTerrainIsGlobal(bool global);
192 
194  virtual double altitude() const = 0;
195 
197  virtual double heightAboveTerrain() const = 0;
198 
200  virtual double viewResolution() const { return 1.; };
201 
204  virtual double zoomFromHeightAboveTerrain(double hat, double magnification = 1) const = 0;
205 
206 
212  virtual void setCurrentViewMagnification( double mag ) = 0;
213 
215  virtual double currentViewMagnification() const = 0;
216 
217  //
218  //
220  //
221  //
222 
224  virtual void startMoveObserverRight() {}
227  virtual void stopMoveObserverRight() {}
228  virtual void moveObserverRight( double ) {}
229 
231  virtual void startMoveObserverForward() {}
234  virtual void stopMoveObserverForward() {}
235  virtual void moveObserverForward( double ) {}
237 
239  virtual void startMoveObserverUp() {}
242  virtual void stopMoveObserverUp() {}
243  virtual void moveObserverUp( double ) {}
245 
247  virtual void startMoveObserverLeft() {}
250  virtual void stopMoveObserverLeft() {}
251  virtual void moveObserverLeft( double ) {}
253 
255  virtual void startMoveObserverBack() {}
258  virtual void stopMoveObserverBack() {}
259  virtual void moveObserverBack( double ) {}
261 
263  virtual void startMoveObserverDown() {}
266  virtual void stopMoveObserverDown() {}
267  virtual void moveObserverDown( double ) {}
269 
271  virtual void startMoveLevelObserverRight() {}
275  virtual void stopMoveLevelObserverRight() {}
276  virtual void moveLevelObserverRight( double ) {}
278 
280  virtual void startMoveLevelObserverForward() {}
285  virtual void moveLevelObserverForward( double ) {}
287 
289  virtual void startMoveLevelObserverUp() {}
293  virtual void stopMoveLevelObserverUp() {}
294  virtual void moveLevelObserverUp( double ) {}
296 
298  virtual void startMoveLevelObserverLeft() {}
302  virtual void stopMoveLevelObserverLeft() {}
303  virtual void moveLevelObserverLeft( double ) {}
305 
307  virtual void startMoveLevelObserverBack() {}
311  virtual void stopMoveLevelObserverBack() {}
312  virtual void moveLevelObserverBack( double ) {}
314 
316  virtual void startMoveLevelObserverDown() {}
319  virtual void stopMoveLevelObserverDown() {}
320  virtual void moveLevelObserverDown( double ) {}
322 
324  virtual void startMoveAttachedRight() {}
327  virtual void stopMoveAttachedRight() {}
328  virtual void moveAttachedRight( double ) {}
329 
331  virtual void startMoveAttachedForward() {}
334  virtual void stopMoveAttachedForward() {}
335  virtual void moveAttachedForward( double ) {}
337 
339  virtual void startMoveAttachedUp() {}
342  virtual void stopMoveAttachedUp() {}
343  virtual void moveAttachedUp( double ) {}
345 
347  virtual void startMoveAttachedLeft() {}
350  virtual void stopMoveAttachedLeft() {}
351  virtual void moveAttachedLeft( double ) {}
353 
355  virtual void startMoveAttachedBack() {}
358  virtual void stopMoveAttachedBack() {}
359  virtual void moveAttachedBack( double ) {}
361 
363  virtual void startMoveAttachedDown() {}
366  virtual void stopMoveAttachedDown() {}
367  virtual void moveAttachedDown( double ) {}
369 
371  virtual void startMoveLevelAttachedRight() {}
375  virtual void stopMoveLevelAttachedRight() {}
376  virtual void moveLevelAttachedRight( double ) {}
378 
380  virtual void startMoveLevelAttachedForward() {}
385  virtual void moveLevelAttachedForward( double ) {}
387 
389  virtual void startMoveLevelAttachedUp() {}
393  virtual void stopMoveLevelAttachedUp() {}
394  virtual void moveLevelAttachedUp( double ) {}
396 
398  virtual void startMoveLevelAttachedLeft() {}
402  virtual void stopMoveLevelAttachedLeft() {}
403  virtual void moveLevelAttachedLeft( double ) {}
405 
407  virtual void startMoveLevelAttachedBack() {}
411  virtual void stopMoveLevelAttachedBack() {}
412  virtual void moveLevelAttachedBack( double ) {}
414 
416  virtual void startMoveLevelAttachedDown() {}
419  virtual void stopMoveLevelAttachedDown() {}
420  virtual void moveLevelAttachedDown( double ) {}
422 
424  virtual void startMoveAttachedContextRight() {}
428  virtual void moveAttachedContextRight( double ) {}
430 
432  virtual void startMoveAttachedContextForward() {}
436  virtual void moveAttachedContextForward( double ) {}
438 
440  virtual void startMoveAttachedContextUp() {}
443  virtual void stopMoveAttachedContextUp() {}
444  virtual void moveAttachedContextUp( double ) {}
446 
448  virtual void startMoveAttachedContextLeft() {}
451  virtual void stopMoveAttachedContextLeft() {}
452  virtual void moveAttachedContextLeft( double ) {}
454 
456  virtual void startMoveAttachedContextBack() {}
459  virtual void stopMoveAttachedContextBack() {}
460  virtual void moveAttachedContextBack( double ) {}
462 
464  virtual void startMoveAttachedContextDown() {}
466  virtual void stopMoveAttachedContextDown() {}
467  virtual void moveAttachedContextDown( double ) {}
469 
471  virtual void startYawLeft() {}
474  virtual void stopYawLeft() {}
475  virtual void rotateYawLeft( double rads ) {}
476  virtual void rotateFlashlightYawLeft( double rads ) {}
478 
480  virtual void startYawRight() {}
484  virtual void stopYawRight() {}
485  virtual void rotateYawRight( double rads ) {}
486  virtual void rotateFlashlightYawRight( double rads ) {}
488 
490  virtual void startPitchUp() {}
493  virtual void stopPitchUp() {}
494  virtual void rotatePitchUp( double rads ) {}
495  virtual void rotateFlashlightPitchUp( double rads ) {}
497 
499  virtual void startPitchDown() {}
502  virtual void stopPitchDown() {}
503  virtual void rotatePitchDown( double rads ) {}
504  virtual void rotateFlashlightPitchDown( double rads ) {}
506 
508  virtual void startRollLeft() {}
511  virtual void stopRollLeft() {}
512  virtual void rollLeft( double rads ) {}
514 
516  virtual void startRollRight() {}
519  virtual void stopRollRight() {}
520  virtual void rollRight( double rads ) {}
522 
524  virtual void startLevelYawLeft() {}
527  virtual void stopLevelYawLeft() {}
528  virtual void rotateLevelYawLeft( double rads ) {}
530 
532  virtual void startLevelYawRight() {}
536  virtual void stopLevelYawRight() {}
537  virtual void rotateLevelYawRight( double rads ) {}
539 
541  virtual void startLevelPitchUp() {}
544  virtual void stopLevelPitchUp() {}
545  virtual void rotateLevelPitchUp( double rads ) {}
547 
549  virtual void startLevelPitchDown() {}
552  virtual void stopLevelPitchDown() {}
553  virtual void rotateLevelPitchDown( double rads ) {}
555 
557  virtual void startLevelRollLeft() {}
560  virtual void stopLevelRollLeft() {}
561  virtual void rollLevelLeft( double rads ) {}
563 
565  virtual void startLevelRollRight() {}
568  virtual void stopLevelRollRight() {}
569  virtual void rollLevelRight( double rads ) {}
571 
573  virtual void startOrbitingLeft() {}
576  virtual void stopOrbitingLeft() {}
577  virtual void orbitLeft( double rads ) {}
579 
581  virtual void startOrbitingRight() {}
584  virtual void stopOrbitingRight() {}
585  virtual void orbitRight( double rads ) {}
587 
589  virtual void startOrbitingUp( ) {}
592  virtual void stopOrbitingUp() {}
593  virtual void orbitUp( double rads ) {}
595 
597  virtual void startOrbitingDown() {}
600  virtual void stopOrbitingDown() {}
601  virtual void orbitDown( double rads ) {}
603 
607  virtual void level() {}
608 
610  virtual void setLocation( double x, double y, double z ) {}
611 
614  virtual void jumpTo( double x, double y, double z ) {}
615 
618  virtual void jumpTo( DtUniqueID id ) {}
619 
620  virtual void orientTo( double x, double y, double z ) {} // = 0;
621 
623  virtual void dragTerrain( double lastX, double lastY, double lastZ,
624  double currX, double currY, double currZ ) {}
625 
626  virtual void dragTerrain2( double myStartDragX, double myStartDragY,
627  double myStartDragZ, int deltaMouseX, int deltaMouseY ) {}
628 
629  virtual void dragGravityUp( double windowUnits ) {}
630  virtual void dragGravityDown( double windowUnits ) {}
631  virtual void dragGravityLeft( double windowUnits ) {}
632  virtual void dragGravityRight( double windowUnits ) {}
633  virtual void scrollObserverForward( int wheelUnits ) {}
634  virtual void scrollObserverBack( int wheelUnits ) {}
635  virtual void scrollLevelObserverForward( int wheelUnits ) {}
636  virtual void scrollLevelObserverBack( int wheelUnits ) {}
637 
638  virtual void scrollFlashlightWider( int wheelUnits ) {}
639  virtual void scrollFlashlightNarrower( int wheelUnits ) {}
640 
641  //
642  //
644  //
645  //
646 
648  virtual void startLookLeft() {}
651  virtual void stopLookLeft() {}
652  virtual void lookLeft( double rads ) {}
654 
656  virtual void startLookRight() {}
659  virtual void stopLookRight() {}
660  virtual void lookRight( double rads ) {}
662 
664  virtual void startLookUp( ) {}
667  virtual void stopLookUp() {}
668  virtual void lookUp( double rads ) {}
670 
672  virtual void startLookDown() {}
675  virtual void stopLookDown() {}
676  virtual void lookDown( double rads ) {}
678 
680  virtual void startLookTiltRight() {}
683  virtual void stopLookTiltRight() {}
684  virtual void lookTiltRight( double rads ) {}
686 
688  virtual void startLookTiltLeft() {}
691  virtual void stopLookTiltLeft() {}
692  virtual void lookTiltLeft( double rads ) {}
694 
696  virtual void resetCamera() {}
697 
698  //
699  //
701  //
702  //
703 
705  virtual void setOrbitSpeed( double speed ) {}
706 
708  virtual void setSpeedScaledSpeed( double speed ) {}
709 
711  virtual void setLinearSpeed( double speed ) {}
712 
714  virtual void setRotationSpeed( double speed ) {}
715 
717  virtual void setMaxLinearSpeed( double maxSpeed ) {}
718 
720  virtual void setMinLinearSpeed( double minSpeed ) {}
721 
723  virtual void setLinearScaledSpeedGain( double gain ) {}
724 
728  virtual void resetOrientation() {}
729 
733  virtual void gotoTerrainCenter( DtUniqueID terrainPatch, bool retry ) {}
734 
736  virtual void resetAttachment() {}
737 
738 
740  virtual void stopAll() {}
741 
742  virtual void attachToObjects( const std::vector<DtUniqueID>& ids ) {}
743  virtual void setSecondaryAttachment( const std::vector<DtUniqueID>& ids ) {}
744  virtual void setLocationTrackAttachment( double x, double y, double z ) {}
745 
747  virtual std::vector<DtUniqueID> currentAttachments() const = 0;
748 
751  virtual void getLocationTrackAttachment( double& x, double& y, double& z )
752  const = 0;
753 
754  virtual void attachToPart( int partId) {}
755  virtual void detach() {}
756 
758  virtual void setSpeedScaling( bool trueFalse ) {}
759 
761  virtual void setConstrainToTerrain( bool trueFalse ) {}
762  virtual void setConstrainToCenter( bool trueFalse ) {}
763 
765  virtual void increaseViewResolution() {}
769  virtual void decreaseViewResolution() {}
772  virtual void setViewResolution( double resolution ) {}
774 
777  virtual void suppressConstrainToTerrain( bool trueFalse ) {}
781  virtual DtObserverObject::AttachType attachType();
782 
783  virtual void setHideModelOnAttach( bool hide ) {}
784 
788  virtual void setAttachmentHas3DCockpit( bool cockpit ) {}
789 
790  virtual void setOrientToTargetConstraint( bool orient ) {}
791  virtual void setOrbiting( bool orient ) {}
792  virtual void setOrientCameraToTargetConstraint( bool orient ) {}
793 
795  virtual void setFlashlightEnabled(bool enabled);
796 
798  virtual void setCameraShakeRotation(double x, double y, double z, double w);
799 
801  virtual void getCameraShakeRotation(double& x, double& y, double& z, double& w);
802 
804  virtual bool flashlightOn() const;
805 
807  virtual void getLocation(double &x, double &y, double& z) const
808  {
809  x = y = z = 0.;
810  }
811 
812  virtual void getEffectiveLocation(double &x, double &y, double& z) const
813  {
814  x = y = z = 0.;
815  }
816 
818  virtual void getObserverCameraPosition(double& x, double& y, double& z) const
819  {
820  x = y = z = 0;
821  }
822 
823  virtual void getOrientation( double& psi, double& theta, double& phi ) const
824  {
825  psi = theta = phi = 0.;
826  }
827 
829  virtual void getTopographicOrientation( double& psi, double& theta, double& phi ) const
830  {
831  psi = theta = phi = 0.;
832  }
833 
835  virtual void getLinearVelocity( double &x, double &y, double &z ) const
836  {
837  x = y = z = 0;
838  }
839 
841  virtual void getRotationalVelocity( double& x, double& y, double& z) const
842  {
843  x = y = z = 0.;
844  }
845 
846  virtual void getObserverOffsetVector( double& x, double& y, double& z ) const
847  {
848  x = y = z = 0.;
849  }
850 
853  virtual void getCameraFromParentOffsetVector( double& x, double& y, double& z ) const
854  {
855  x = y = z = 0.;
856  }
859  virtual void getCameraFromParentRotationOffset( double& x, double& y, double& z, double& w ) const
860  {
861  x = y = z = w =0.;
862  }
863 
866  virtual double linearSpeed()
867  {
868  return 0.;
869  }
870 
872  virtual void setAttachedLocation( double x, double y, double z ) {}
873 
875  virtual void setOrientation( double psi, double theta, double phi ) {}
876 
878  virtual void setTopographicOrientation( double psi, double theta, double phi ) {}
879 
881  virtual void setOrientation( double x, double y, double z, double w ) {}
882 
884  virtual void setAttachedOrientation(double psi, double theta, double phi) = 0;
885  virtual void setAttachedYaw(double psi) = 0;
886  virtual void setAttachedPitch(double theta) = 0;
887  virtual void setAttachedRoll(double phi) = 0;
888  virtual void getAttachedOrientation(double& psi, double& theta, double& phi) const = 0;
889 
890  virtual void setLocalModelScalingEnabled( bool enabled ) {}
891 
892  virtual void setLocalModelScalingAmount( float amount ) {}
893 
894  virtual void setObserverOffsetVector( double x, double y, double z ) {}
895 
896  virtual void getAttachedRotationOffset( double& x, double& y, double& z, double& w ) const
897  {
898  x = y = z = 0.;
899  w = 1.;
900  }
901 
902  virtual void getOrientation( double& x, double& y, double& z, double& w ) const
903  {
904  x = y = z = 0.;
905  w = 1.;
906  }
907 
908  // Get the orientation of the camera rotated by the orientation of the observer
910  virtual void getObserverCameraOrientation(double& psi, double& theta, double& phi, bool includeShake = true) const
911  {
912  psi = theta = phi = 0.;
913  }
914 
915  virtual void setAttachedRotationOffset( double x, double y, double z,
916  double w ) {}
917 
920  virtual void getObserverPlatformFront(double& x, double& y, double& z) const
921  {
922  x = y = z = 0.;
923  }
924 
927  virtual void getObserverPlatformUp(double& x, double& y, double& z) const
928  {
929  x = y = z = 0.;
930  }
931 
934  virtual void getObserverPlatformRight(double& x, double& y, double& z) const
935  {
936  x = y = z = 0.;
937  }
938 
941  virtual void getObserverCameraFront(double& x, double& y, double& z, bool includeShake=true) const
942  {
943  x = y = z = 0.;
944  }
945 
947  virtual void getObserverCameraUp(double& x, double& y, double& z, bool includeShake = true) const
948  {
949  x = y = z = 0.;
950  }
951 
953  virtual void getObserverCameraRight(double& x, double& y, double& z, bool includeShake = true) const
954  {
955  x = y = z = 0.;
956  }
957 
959  virtual void getCameraUp(double& x, double& y, double& z)
960  {
961  x = y = z = 0.;
962  }
963 
965  virtual void getCameraFront(double& x, double& y, double& z)
966  {
967  x = y = z = 0.;
968  }
969 
970 
972  virtual void getCameraRight(double& x, double& y, double& z)
973  {
974  x = y = z = 0.;
975  }
976 
979  virtual bool isMoving() const { return false; }
980 
981  virtual double topographicHeading() const
982  {
983  return 0.0;
984  }
985 
987  bool isGlobalTerrain() const
988  {
989  return myTerrainIsGlobalFlag;
990  }
991 
992  // Sends the location of the observer on the master to all others; only used
993  // if different
994  virtual void synchronizeLocation( double x, double y, double z ) {}
995 
996  // Sends the orientation of the observer on the master to all others; only used
997  // if different
998  virtual void synchronizeOrientation( double x, double y, double z, double w ) {}
999 
1001  virtual void setSensor(const std::string& sensorName);
1002 
1004  virtual DtSensor* findSensor() const;
1005 
1007  virtual void disableSensor();
1008 
1009  private:
1010 
1013 
1015  DtObserverObject& operator=( const DtObserverObject& );
1016 
1017  protected:
1018 
1020  std::string myName;
1021  bool myIs2D;
1024  std::string myScaleType;
1038  };
1039 }
virtual void gotoTerrainCenter(DtUniqueID terrainPatch, bool retry)
Go to the terrain patch&#39;s center Go to the center of the specified terrain path, offset by the scene ...
Definition: DtObserverObject.h:733
Definition: DtObserverObject.h:52
virtual void stopLevelPitchDown()
Definition: DtObserverObject.h:552
virtual void stopRollLeft()
Definition: DtObserverObject.h:511
virtual void stopAll()
Stop all current motion.
Definition: DtObserverObject.h:740
virtual void dragGravityRight(double windowUnits)
Definition: DtObserverObject.h:632
virtual void stopMoveLevelObserverLeft()
Definition: DtObserverObject.h:302
virtual void stopMoveLevelAttachedLeft()
Definition: DtObserverObject.h:402
virtual void stopMoveLevelObserverUp()
Definition: DtObserverObject.h:293
virtual void stopYawRight()
Definition: DtObserverObject.h:484
virtual double topographicHeading() const
Definition: DtObserverObject.h:981
virtual void stopMoveAttachedBack()
Definition: DtObserverObject.h:358
virtual void moveAttachedContextForward(double)
Definition: DtObserverObject.h:436
virtual void stopPitchUp()
Definition: DtObserverObject.h:493
virtual void rotateYawLeft(double rads)
Definition: DtObserverObject.h:475
DtUniqueID myUniqueId
Definition: DtObserverObject.h:1032
virtual void moveAttachedContextBack(double)
Definition: DtObserverObject.h:460
virtual void moveObserverDown(double)
Definition: DtObserverObject.h:267
DtObserverObject::AttachType myAttachType
Definition: DtObserverObject.h:1037
virtual void getRotationalVelocity(double &x, double &y, double &z) const
Get the observer&#39;s rotational velocity.
Definition: DtObserverObject.h:841
virtual void dragTerrain2(double myStartDragX, double myStartDragY, double myStartDragZ, int deltaMouseX, int deltaMouseY)
Definition: DtObserverObject.h:626
virtual void moveAttachedUp(double)
Definition: DtObserverObject.h:343
virtual void setHideModelOnAttach(bool hide)
Definition: DtObserverObject.h:783
virtual void stopMoveAttachedDown()
Definition: DtObserverObject.h:366
virtual void setTopographicOrientation(double psi, double theta, double phi)
turn to psi, theta, phi
Definition: DtObserverObject.h:878
virtual void stopMoveAttachedContextDown()
Definition: DtObserverObject.h:466
virtual void rollLevelRight(double rads)
Definition: DtObserverObject.h:569
virtual void getOrientation(double &x, double &y, double &z, double &w) const
Definition: DtObserverObject.h:902
virtual void getLinearVelocity(double &x, double &y, double &z) const
Get the observer&#39;s linear velocity.
Definition: DtObserverObject.h:835
virtual void stopMoveObserverLeft()
Definition: DtObserverObject.h:250
virtual void orbitUp(double rads)
Definition: DtObserverObject.h:593
virtual void lookTiltRight(double rads)
Definition: DtObserverObject.h:684
virtual void rotateLevelPitchDown(double rads)
Definition: DtObserverObject.h:553
virtual void resetOrientation()
Reset observer and camera orientation Set observer orientation to North and level, and set the camera aligned with the observer.
Definition: DtObserverObject.h:728
virtual void getObserverCameraRight(double &x, double &y, double &z, bool includeShake=true) const
Get a vector representation of the observer * camera right axis.
Definition: DtObserverObject.h:953
Definition: DtObserverObject.h:43
virtual void setAttachedRotationOffset(double x, double y, double z, double w)
Definition: DtObserverObject.h:915
virtual void getEffectiveLocation(double &x, double &y, double &z) const
Definition: DtObserverObject.h:812
virtual void stopLevelYawLeft()
Definition: DtObserverObject.h:527
virtual void orientTo(double x, double y, double z)
Definition: DtObserverObject.h:620
virtual void stopOrbitingRight()
Definition: DtObserverObject.h:584
Definition: DtObserverObject.h:45
virtual void setLocationTrackAttachment(double x, double y, double z)
Definition: DtObserverObject.h:744
virtual void rotateLevelPitchUp(double rads)
Definition: DtObserverObject.h:545
virtual void orbitRight(double rads)
Definition: DtObserverObject.h:585
virtual void stopYawLeft()
Definition: DtObserverObject.h:474
virtual void stopMoveAttachedContextForward()
Definition: DtObserverObject.h:435
virtual void getTopographicOrientation(double &psi, double &theta, double &phi) const
Get orientation in euler angles in a North-East-Down (topographic) reference.
Definition: DtObserverObject.h:829
virtual void stopMoveAttachedLeft()
Definition: DtObserverObject.h:350
virtual void setAttachmentHas3DCockpit(bool cockpit)
The GL Studio driver uses this to tell the observer that it&#39;s going to render a 3D cockpit so the obs...
Definition: DtObserverObject.h:788
virtual void setOrientation(double x, double y, double z, double w)
turn to quat(x,y,z,w)
Definition: DtObserverObject.h:881
virtual void level()
Make the observer level Set the observer&#39;s pitch and roll angles normal to the gravity vector...
Definition: DtObserverObject.h:607
virtual void startIncreasingViewResolution()
Definition: DtObserverObject.h:767
virtual void stopMoveLevelAttachedRight()
Definition: DtObserverObject.h:375
virtual void setSpeedScaling(bool trueFalse)
scale speed based on distance from object of interest
Definition: DtObserverObject.h:758
std::string myScaleType
Definition: DtObserverObject.h:1024
virtual void setAttachedLocation(double x, double y, double z)
jump to x, y, z in attached entity coords
Definition: DtObserverObject.h:872
DtSensor * mySensor
Definition: DtObserverObject.h:1028
virtual void dragGravityLeft(double windowUnits)
Definition: DtObserverObject.h:631
virtual bool isMoving() const
Only called by master; indicates linear motion other than that caused by the movement of something we...
Definition: DtObserverObject.h:979
virtual void moveAttachedBack(double)
Definition: DtObserverObject.h:359
virtual void stopLookRight()
Definition: DtObserverObject.h:659
virtual void stopDecreasingViewResolution()
Definition: DtObserverObject.h:771
virtual void getCameraFromParentRotationOffset(double &x, double &y, double &z, double &w) const
The difference between the observer&#39;s camera and the object that the observer is attached to...
Definition: DtObserverObject.h:859
virtual void tick(double)
Do renderer post-update processing Each observer is &#39;tick&#39;ed after the renderer has done it&#39;s update...
Definition: DtObserverObject.h:188
virtual void stopMoveObserverDown()
Definition: DtObserverObject.h:266
virtual void rotateLevelYawLeft(double rads)
Definition: DtObserverObject.h:528
virtual void getOrientation(double &psi, double &theta, double &phi) const
Definition: DtObserverObject.h:823
virtual void moveLevelObserverForward(double)
Definition: DtObserverObject.h:285
int myModelSet
Definition: DtObserverObject.h:1023
virtual void stopMoveAttachedUp()
Definition: DtObserverObject.h:342
virtual void stopPitchDown()
Definition: DtObserverObject.h:502
virtual void getLocation(double &x, double &y, double &z) const
Get the position/location of the observer platform.
Definition: DtObserverObject.h:807
virtual void stopMoveLevelAttachedUp()
Definition: DtObserverObject.h:393
virtual void scrollFlashlightWider(int wheelUnits)
Definition: DtObserverObject.h:638
virtual void stopMoveLevelObserverRight()
Definition: DtObserverObject.h:275
virtual void moveLevelAttachedLeft(double)
Definition: DtObserverObject.h:403
virtual void setMinLinearSpeed(double minSpeed)
Set the minimum linear speed (used for speed scaling)
Definition: DtObserverObject.h:720
virtual void dragGravityUp(double windowUnits)
Definition: DtObserverObject.h:629
virtual void moveObserverLeft(double)
Definition: DtObserverObject.h:251
double myMaxModelScaleFactor
Definition: DtObserverObject.h:1033
virtual void stopMoveObserverRight()
Definition: DtObserverObject.h:227
virtual void stopMoveLevelAttachedDown()
Definition: DtObserverObject.h:419
virtual void getCameraFromParentOffsetVector(double &x, double &y, double &z) const
The difference between the observer&#39;s camera and the object that the observer is attached to...
Definition: DtObserverObject.h:853
virtual void stopMoveLevelAttachedBack()
Definition: DtObserverObject.h:411
bool myTerrainIsGlobalFlag
Definition: DtObserverObject.h:1025
virtual void getObserverOffsetVector(double &x, double &y, double &z) const
Definition: DtObserverObject.h:846
virtual void stopLookLeft()
Definition: DtObserverObject.h:651
virtual void moveLevelObserverLeft(double)
Definition: DtObserverObject.h:303
virtual void setAttachType(DtObserverObject::AttachType type)
Set the type of observer attachment.
Definition: DtObserverObject.h:779
Definition: DtObserverObject.h:58
virtual void startDecreasingViewResolution()
Definition: DtObserverObject.h:770
virtual void lookDown(double rads)
Definition: DtObserverObject.h:676
virtual void setConstrainToCenter(bool trueFalse)
Definition: DtObserverObject.h:762
virtual void suppressConstrainToTerrain(bool trueFalse)
if constrain to terrain is on, suppress or end suppress if constrain to terrain is not on...
Definition: DtObserverObject.h:777
virtual void resetCamera()
Align the camera with the observer.
Definition: DtObserverObject.h:696
virtual void rotatePitchUp(double rads)
Definition: DtObserverObject.h:494
virtual void setOrientToTargetConstraint(bool orient)
Definition: DtObserverObject.h:790
virtual void stopLevelRollLeft()
Definition: DtObserverObject.h:560
virtual void setSecondaryAttachment(const std::vector< DtUniqueID > &ids)
Definition: DtObserverObject.h:743
virtual void moveAttachedContextLeft(double)
Definition: DtObserverObject.h:452
virtual void lookTiltLeft(double rads)
Definition: DtObserverObject.h:692
virtual void setOrbitSpeed(double speed)
Commands affecting Observer and Camera.
Definition: DtObserverObject.h:705
virtual void setMaxLinearSpeed(double maxSpeed)
Set the msximum linear speed (used for speed scaling)
Definition: DtObserverObject.h:717
virtual void moveLevelAttachedRight(double)
Definition: DtObserverObject.h:376
virtual void rollLevelLeft(double rads)
Definition: DtObserverObject.h:561
virtual void synchronizeOrientation(double x, double y, double z, double w)
Definition: DtObserverObject.h:998
double myLodScaleCenterMagMinLimit
Definition: DtObserverObject.h:1035
Definition: DtObserverObject.h:44
virtual void stopLevelRollRight()
Definition: DtObserverObject.h:568
virtual void rotateLevelYawRight(double rads)
Definition: DtObserverObject.h:537
SpeedScalingMode
Definition: DtObserverObject.h:50
virtual void moveAttachedForward(double)
Definition: DtObserverObject.h:335
virtual void scrollObserverBack(int wheelUnits)
Definition: DtObserverObject.h:634
virtual void dragTerrain(double lastX, double lastY, double lastZ, double currX, double currY, double currZ)
drag the database point &#39;last&#39; to the point &#39;curr&#39;
Definition: DtObserverObject.h:623
virtual void moveLevelObserverUp(double)
Definition: DtObserverObject.h:294
std::map< int, bool > ModeSettingsMap
Definition: DtObserverObject.h:34
virtual void setOrientation(double psi, double theta, double phi)
turn to psi, theta, phi
Definition: DtObserverObject.h:875
virtual void setConstrainToTerrain(bool trueFalse)
constrain by terrain
Definition: DtObserverObject.h:761
bool myLodScaleCenterEnabled
Definition: DtObserverObject.h:1034
virtual void getObserverCameraUp(double &x, double &y, double &z, bool includeShake=true) const
Get a vector representation of the observer * camera up axis.
Definition: DtObserverObject.h:947
bool myScalingIntersectionTerrainSkinOnly
Definition: DtObserverObject.h:1031
virtual void stopMoveLevelAttachedForward()
Definition: DtObserverObject.h:384
virtual void stopLevelYawRight()
Definition: DtObserverObject.h:536
virtual void stopMoveAttachedContextLeft()
Definition: DtObserverObject.h:451
virtual void stopOrbitingDown()
Definition: DtObserverObject.h:600
virtual void lookRight(double rads)
Definition: DtObserverObject.h:660
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
virtual void moveLevelAttachedBack(double)
Definition: DtObserverObject.h:412
virtual void attachToPart(int partId)
Definition: DtObserverObject.h:754
virtual void stopMoveLevelObserverDown()
Definition: DtObserverObject.h:319
virtual void rollLeft(double rads)
Definition: DtObserverObject.h:512
virtual void stopLookUp()
Definition: DtObserverObject.h:667
This abstract base class defines the interface for OS-specific keyboard and mouse event listeners...
Definition: DtObserverObject.h:29
virtual void moveLevelObserverRight(double)
Definition: DtObserverObject.h:276
bool myFlashlightOn
Definition: DtObserverObject.h:1027
virtual void moveObserverForward(double)
Definition: DtObserverObject.h:235
virtual void rotateFlashlightYawLeft(double rads)
Definition: DtObserverObject.h:476
virtual void detach()
Definition: DtObserverObject.h:755
virtual void setLocalModelScalingEnabled(bool enabled)
Definition: DtObserverObject.h:890
virtual void setLinearSpeed(double speed)
Set the speed used for forward/backleft/right/up/down movement (observer and camera) ...
Definition: DtObserverObject.h:711
virtual void dragGravityDown(double windowUnits)
Definition: DtObserverObject.h:630
virtual void stopMoveObserverForward()
Definition: DtObserverObject.h:234
virtual void orbitDown(double rads)
Definition: DtObserverObject.h:601
double mySpeedScalingMslModeOffset
Definition: DtObserverObject.h:1030
virtual void stopLevelPitchUp()
Definition: DtObserverObject.h:544
virtual void stopOrbitingLeft()
Definition: DtObserverObject.h:576
virtual void setViewResolution(double resolution)
Definition: DtObserverObject.h:772
virtual void setLocalModelScalingAmount(float amount)
Definition: DtObserverObject.h:892
NorthType
Definition: DtObserverObject.h:56
Definition of a sensor.
Definition: DtSensor.h:30
SpeedScalingMode mySpeedScalingMode
Definition: DtObserverObject.h:1029
virtual void getObserverCameraOrientation(double &psi, double &theta, double &phi, bool includeShake=true) const
(so, where the camera is actually looking)
Definition: DtObserverObject.h:910
virtual void rotateFlashlightPitchUp(double rads)
Definition: DtObserverObject.h:495
virtual void stopRollRight()
Definition: DtObserverObject.h:519
virtual void moveLevelObserverBack(double)
Definition: DtObserverObject.h:312
virtual void setLocation(double x, double y, double z)
jump to x, y, z
Definition: DtObserverObject.h:610
virtual void scrollLevelObserverBack(int wheelUnits)
Definition: DtObserverObject.h:636
virtual void moveLevelAttachedDown(double)
Definition: DtObserverObject.h:420
virtual void setOrbiting(bool orient)
Definition: DtObserverObject.h:791
std::string myName
Definition: DtObserverObject.h:1020
virtual void scrollLevelObserverForward(int wheelUnits)
Definition: DtObserverObject.h:635
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
virtual void stopMoveAttachedContextRight()
Definition: DtObserverObject.h:427
virtual void scrollObserverForward(int wheelUnits)
Definition: DtObserverObject.h:633
virtual void stopMoveAttachedContextUp()
Definition: DtObserverObject.h:443
virtual void moveAttachedDown(double)
Definition: DtObserverObject.h:367
virtual double linearSpeed()
Get the observer object&#39;s calculated speed (includes speed scaling in the deriving class) ...
Definition: DtObserverObject.h:866
virtual void moveObserverBack(double)
Definition: DtObserverObject.h:259
virtual void stopMoveLevelObserverForward()
Definition: DtObserverObject.h:284
Definition: DtObserverObject.h:38
virtual void stopOrbitingUp()
Definition: DtObserverObject.h:592
virtual void stopMoveAttachedContextBack()
Definition: DtObserverObject.h:459
virtual void stopMoveAttachedForward()
Definition: DtObserverObject.h:334
virtual void stopLookTiltLeft()
Definition: DtObserverObject.h:691
virtual void setObserverOffsetVector(double x, double y, double z)
Definition: DtObserverObject.h:894
virtual void moveLevelAttachedForward(double)
Definition: DtObserverObject.h:385
virtual void jumpTo(double x, double y, double z)
jump to x, y, z and then the observer is &#39;backed off&#39; the location based on the distance of the jump...
Definition: DtObserverObject.h:614
virtual void moveAttachedRight(double)
Definition: DtObserverObject.h:328
virtual void moveAttachedContextDown(double)
Definition: DtObserverObject.h:467
virtual void moveLevelAttachedUp(double)
Definition: DtObserverObject.h:394
virtual double viewResolution() const
Zoom factor. Used to scale terrain and objects.
Definition: DtObserverObject.h:200
virtual void lookUp(double rads)
Definition: DtObserverObject.h:668
DT_DLL_vrfutil double mag(double x[3])
virtual void moveAttachedContextRight(double)
Definition: DtObserverObject.h:428
const char int mode
Definition: ioapi.h:38
virtual void setSpeedScaledSpeed(double speed)
Used for reset when there is no terrain.
Definition: DtObserverObject.h:708
virtual void jumpTo(DtUniqueID id)
jump to object specfied by ID.
Definition: DtObserverObject.h:618
virtual void rotatePitchDown(double rads)
Definition: DtObserverObject.h:503
virtual void setRotationSpeed(double speed)
Set the speed used for rotation (observer and camera)
Definition: DtObserverObject.h:714
virtual void getObserverPlatformFront(double &x, double &y, double &z) const
Get a vector representation of the observer&#39;s front axis; this is before the camera orientation is ap...
Definition: DtObserverObject.h:920
Contains makVrv::DtUniqueID type.
virtual void orbitLeft(double rads)
Definition: DtObserverObject.h:577
virtual void stopLookTiltRight()
Definition: DtObserverObject.h:683
virtual void stopMoveObserverUp()
Definition: DtObserverObject.h:242
virtual void decreaseViewResolution()
Definition: DtObserverObject.h:769
double myScaleFactor
Definition: DtObserverObject.h:1022
virtual void getCameraUp(double &x, double &y, double &z)
Get a vector representation of the observer&#39;s camera&#39;s up axis.
Definition: DtObserverObject.h:959
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtObserverObject::NorthType myNorthType
Definition: DtObserverObject.h:1036
bool isGlobalTerrain() const
Are we on a global terrain.
Definition: DtObserverObject.h:987
virtual void moveObserverRight(double)
Definition: DtObserverObject.h:228
virtual void getObserverPlatformUp(double &x, double &y, double &z) const
Get a vector representation of the observer&#39;s up axis; this is before the camera orientation is appli...
Definition: DtObserverObject.h:927
virtual void stopLookDown()
Definition: DtObserverObject.h:675
virtual void stopMoveAttachedRight()
Definition: DtObserverObject.h:327
voidpf uLong offset
Definition: ioapi.h:42
virtual void rollRight(double rads)
Definition: DtObserverObject.h:520
virtual void moveObserverUp(double)
Definition: DtObserverObject.h:243
Definition: DtObserverObject.h:41
virtual void stopMoveObserverBack()
Definition: DtObserverObject.h:258
virtual void getCameraRight(double &x, double &y, double &z)
Get a vector representation of the observer&#39;s camera&#39;s right axis.
Definition: DtObserverObject.h:972
virtual void scrollFlashlightNarrower(int wheelUnits)
Definition: DtObserverObject.h:639
virtual void getObserverCameraFront(double &x, double &y, double &z, bool includeShake=true) const
Get a vector representation of the observer * camera front axis This is where the observer is actuall...
Definition: DtObserverObject.h:941
virtual void attachToObjects(const std::vector< DtUniqueID > &ids)
Definition: DtObserverObject.h:742
ModeSettingsMap myModeSettingsMap
Definition: DtObserverObject.h:1026
virtual void moveAttachedLeft(double)
Definition: DtObserverObject.h:351
virtual void rotateFlashlightPitchDown(double rads)
Definition: DtObserverObject.h:504
DtDe & myDe
Definition: DtObserverObject.h:1019
virtual void moveLevelObserverDown(double)
Definition: DtObserverObject.h:320
virtual void getObserverPlatformRight(double &x, double &y, double &z) const
Get a vector representation of the observer&#39;s right axis; this is before the camera orientation is ap...
Definition: DtObserverObject.h:934
virtual void stopIncreasingViewResolution()
Definition: DtObserverObject.h:768
virtual void setOrientCameraToTargetConstraint(bool orient)
Definition: DtObserverObject.h:792
virtual void getAttachedRotationOffset(double &x, double &y, double &z, double &w) const
Definition: DtObserverObject.h:896
virtual void lookLeft(double rads)
Definition: DtObserverObject.h:652
virtual void rotateYawRight(double rads)
Definition: DtObserverObject.h:485
virtual void moveAttachedContextUp(double)
Definition: DtObserverObject.h:444
virtual void stopMoveLevelObserverBack()
Definition: DtObserverObject.h:311
Definition: DtObserverObject.h:42
Definition: DtObserverObject.h:40
bool myIs2D
Definition: DtObserverObject.h:1021
virtual void getCameraFront(double &x, double &y, double &z)
Get a vector representation of the observer&#39;s camera&#39;s front axis.
Definition: DtObserverObject.h:965
Definition: DtObserverObject.h:39
virtual void synchronizeLocation(double x, double y, double z)
Definition: DtObserverObject.h:994
virtual void setLinearScaledSpeedGain(double gain)
Set the linear gain as a % of max gain (precision)
Definition: DtObserverObject.h:723
virtual void getObserverCameraPosition(double &x, double &y, double &z) const
Get the position of the observer&#39;s camera, which may be offset from the observer platform.
Definition: DtObserverObject.h:818
virtual void rotateFlashlightYawRight(double rads)
Definition: DtObserverObject.h:486
AttachType
Definition: DtObserverObject.h:36
Contains DLL export macros.
virtual void resetAttachment()
reset orientation and position offsets
Definition: DtObserverObject.h:736

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)