VR-Forces 4.8 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 
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 
104  virtual void setMaxModelScaleFactor(double maxModelScaleFactor);
105 
107  virtual double maxModelScaleFactor() const;
108 
110  void setLodScaleCenterEnabled(bool enabled);
112  bool lodScaleCenterEnabled() const;
114 
116  void setLodScaleCenterMagMinLimit(double limit);
118  double lodScaleCenterMagMinLimit() const;
120 
122  virtual const std::string& scaleType() const;
123 
125  virtual void setScaleType(const std::string& scaleType);
126 
128  virtual int modelSet() const;
129 
131  virtual void setModelSet( int modelSet );
132 
134  virtual void setSpeedScalingMode( SpeedScalingMode mode );
135 
137  virtual SpeedScalingMode speedScalingMode() const;
138 
140  virtual void setSpeedScalingMslModeOffset( double offset );
141 
143  virtual double speedScalingMslModeOffset() const;
144 
148  virtual void clearModeSettings();
149 
152  virtual void setModeSetting( int setting, bool value );
153 
156  virtual bool modeSetting( int setting ) const;
157 
158  virtual const ModeSettingsMap& modeSettings() const;
159 
163  virtual void setNameAndRegister( const std::string& name );
164 
170  virtual void tick( double ) {}
171 
173  virtual void setTerrainIsGlobal(bool global);
174 
176  virtual double altitude() const = 0;
177 
179  virtual double heightAboveTerrain() const = 0;
180 
182  virtual double viewResolution() const { return 1.; };
183 
186  virtual double zoomFromHeightAboveTerrain(double hat, double magnification = 1) const = 0;
187 
188 
194  virtual void setCurrentViewMagnification( double mag ) = 0;
195 
197  virtual double currentViewMagnification() const = 0;
198 
199  //
200  //
202  //
203  //
204 
206  virtual void startMoveObserverRight() {}
209  virtual void stopMoveObserverRight() {}
210  virtual void moveObserverRight( double ) {}
211 
213  virtual void startMoveObserverForward() {}
216  virtual void stopMoveObserverForward() {}
217  virtual void moveObserverForward( double ) {}
219 
221  virtual void startMoveObserverUp() {}
224  virtual void stopMoveObserverUp() {}
225  virtual void moveObserverUp( double ) {}
227 
229  virtual void startMoveObserverLeft() {}
232  virtual void stopMoveObserverLeft() {}
233  virtual void moveObserverLeft( double ) {}
235 
237  virtual void startMoveObserverBack() {}
240  virtual void stopMoveObserverBack() {}
241  virtual void moveObserverBack( double ) {}
243 
245  virtual void startMoveObserverDown() {}
248  virtual void stopMoveObserverDown() {}
249  virtual void moveObserverDown( double ) {}
251 
253  virtual void startMoveLevelObserverRight() {}
257  virtual void stopMoveLevelObserverRight() {}
258  virtual void moveLevelObserverRight( double ) {}
260 
262  virtual void startMoveLevelObserverForward() {}
267  virtual void moveLevelObserverForward( double ) {}
269 
271  virtual void startMoveLevelObserverUp() {}
275  virtual void stopMoveLevelObserverUp() {}
276  virtual void moveLevelObserverUp( double ) {}
278 
280  virtual void startMoveLevelObserverLeft() {}
284  virtual void stopMoveLevelObserverLeft() {}
285  virtual void moveLevelObserverLeft( double ) {}
287 
289  virtual void startMoveLevelObserverBack() {}
293  virtual void stopMoveLevelObserverBack() {}
294  virtual void moveLevelObserverBack( double ) {}
296 
298  virtual void startMoveLevelObserverDown() {}
301  virtual void stopMoveLevelObserverDown() {}
302  virtual void moveLevelObserverDown( double ) {}
304 
306  virtual void startMoveAttachedRight() {}
309  virtual void stopMoveAttachedRight() {}
310  virtual void moveAttachedRight( double ) {}
311 
313  virtual void startMoveAttachedForward() {}
316  virtual void stopMoveAttachedForward() {}
317  virtual void moveAttachedForward( double ) {}
319 
321  virtual void startMoveAttachedUp() {}
324  virtual void stopMoveAttachedUp() {}
325  virtual void moveAttachedUp( double ) {}
327 
329  virtual void startMoveAttachedLeft() {}
332  virtual void stopMoveAttachedLeft() {}
333  virtual void moveAttachedLeft( double ) {}
335 
337  virtual void startMoveAttachedBack() {}
340  virtual void stopMoveAttachedBack() {}
341  virtual void moveAttachedBack( double ) {}
343 
345  virtual void startMoveAttachedDown() {}
348  virtual void stopMoveAttachedDown() {}
349  virtual void moveAttachedDown( double ) {}
351 
353  virtual void startMoveLevelAttachedRight() {}
357  virtual void stopMoveLevelAttachedRight() {}
358  virtual void moveLevelAttachedRight( double ) {}
360 
362  virtual void startMoveLevelAttachedForward() {}
367  virtual void moveLevelAttachedForward( double ) {}
369 
371  virtual void startMoveLevelAttachedUp() {}
375  virtual void stopMoveLevelAttachedUp() {}
376  virtual void moveLevelAttachedUp( double ) {}
378 
380  virtual void startMoveLevelAttachedLeft() {}
384  virtual void stopMoveLevelAttachedLeft() {}
385  virtual void moveLevelAttachedLeft( double ) {}
387 
389  virtual void startMoveLevelAttachedBack() {}
393  virtual void stopMoveLevelAttachedBack() {}
394  virtual void moveLevelAttachedBack( double ) {}
396 
398  virtual void startMoveLevelAttachedDown() {}
401  virtual void stopMoveLevelAttachedDown() {}
402  virtual void moveLevelAttachedDown( double ) {}
404 
406  virtual void startMoveAttachedContextRight() {}
410  virtual void moveAttachedContextRight( double ) {}
412 
414  virtual void startMoveAttachedContextForward() {}
418  virtual void moveAttachedContextForward( double ) {}
420 
422  virtual void startMoveAttachedContextUp() {}
425  virtual void stopMoveAttachedContextUp() {}
426  virtual void moveAttachedContextUp( double ) {}
428 
430  virtual void startMoveAttachedContextLeft() {}
433  virtual void stopMoveAttachedContextLeft() {}
434  virtual void moveAttachedContextLeft( double ) {}
436 
438  virtual void startMoveAttachedContextBack() {}
441  virtual void stopMoveAttachedContextBack() {}
442  virtual void moveAttachedContextBack( double ) {}
444 
446  virtual void startMoveAttachedContextDown() {}
448  virtual void stopMoveAttachedContextDown() {}
449  virtual void moveAttachedContextDown( double ) {}
451 
453  virtual void startYawLeft() {}
456  virtual void stopYawLeft() {}
457  virtual void rotateYawLeft( double rads ) {}
458  virtual void rotateFlashlightYawLeft( double rads ) {}
460 
462  virtual void startYawRight() {}
466  virtual void stopYawRight() {}
467  virtual void rotateYawRight( double rads ) {}
468  virtual void rotateFlashlightYawRight( double rads ) {}
470 
472  virtual void startPitchUp() {}
475  virtual void stopPitchUp() {}
476  virtual void rotatePitchUp( double rads ) {}
477  virtual void rotateFlashlightPitchUp( double rads ) {}
479 
481  virtual void startPitchDown() {}
484  virtual void stopPitchDown() {}
485  virtual void rotatePitchDown( double rads ) {}
486  virtual void rotateFlashlightPitchDown( double rads ) {}
488 
490  virtual void startRollLeft() {}
493  virtual void stopRollLeft() {}
494  virtual void rollLeft( double rads ) {}
496 
498  virtual void startRollRight() {}
501  virtual void stopRollRight() {}
502  virtual void rollRight( double rads ) {}
504 
506  virtual void startLevelYawLeft() {}
509  virtual void stopLevelYawLeft() {}
510  virtual void rotateLevelYawLeft( double rads ) {}
512 
514  virtual void startLevelYawRight() {}
518  virtual void stopLevelYawRight() {}
519  virtual void rotateLevelYawRight( double rads ) {}
521 
523  virtual void startLevelPitchUp() {}
526  virtual void stopLevelPitchUp() {}
527  virtual void rotateLevelPitchUp( double rads ) {}
529 
531  virtual void startLevelPitchDown() {}
534  virtual void stopLevelPitchDown() {}
535  virtual void rotateLevelPitchDown( double rads ) {}
537 
539  virtual void startLevelRollLeft() {}
542  virtual void stopLevelRollLeft() {}
543  virtual void rollLevelLeft( double rads ) {}
545 
547  virtual void startLevelRollRight() {}
550  virtual void stopLevelRollRight() {}
551  virtual void rollLevelRight( double rads ) {}
553 
555  virtual void startOrbitingLeft() {}
558  virtual void stopOrbitingLeft() {}
559  virtual void orbitLeft( double rads ) {}
561 
563  virtual void startOrbitingRight() {}
566  virtual void stopOrbitingRight() {}
567  virtual void orbitRight( double rads ) {}
569 
571  virtual void startOrbitingUp( ) {}
574  virtual void stopOrbitingUp() {}
575  virtual void orbitUp( double rads ) {}
577 
579  virtual void startOrbitingDown() {}
582  virtual void stopOrbitingDown() {}
583  virtual void orbitDown( double rads ) {}
585 
589  virtual void level() {}
590 
592  virtual void setLocation( double x, double y, double z ) {}
593 
596  virtual void jumpTo( double x, double y, double z ) {}
597 
600  virtual void jumpTo( DtUniqueID id ) {}
601 
602  virtual void orientTo( double x, double y, double z ) {} // = 0;
603 
605  virtual void dragTerrain( double lastX, double lastY, double lastZ,
606  double currX, double currY, double currZ ) {}
607 
608  virtual void dragTerrain2( double myStartDragX, double myStartDragY,
609  double myStartDragZ, int deltaMouseX, int deltaMouseY ) {}
610 
611  virtual void dragGravityUp( double windowUnits ) {}
612  virtual void dragGravityDown( double windowUnits ) {}
613  virtual void dragGravityLeft( double windowUnits ) {}
614  virtual void dragGravityRight( double windowUnits ) {}
615  virtual void scrollObserverForward( int wheelUnits ) {}
616  virtual void scrollObserverBack( int wheelUnits ) {}
617  virtual void scrollLevelObserverForward( int wheelUnits ) {}
618  virtual void scrollLevelObserverBack( int wheelUnits ) {}
619 
620  virtual void scrollFlashlightWider( int wheelUnits ) {}
621  virtual void scrollFlashlightNarrower( int wheelUnits ) {}
622 
623  //
624  //
626  //
627  //
628 
630  virtual void startLookLeft() {}
633  virtual void stopLookLeft() {}
634  virtual void lookLeft( double rads ) {}
636 
638  virtual void startLookRight() {}
641  virtual void stopLookRight() {}
642  virtual void lookRight( double rads ) {}
644 
646  virtual void startLookUp( ) {}
649  virtual void stopLookUp() {}
650  virtual void lookUp( double rads ) {}
652 
654  virtual void startLookDown() {}
657  virtual void stopLookDown() {}
658  virtual void lookDown( double rads ) {}
660 
662  virtual void startLookTiltRight() {}
665  virtual void stopLookTiltRight() {}
666  virtual void lookTiltRight( double rads ) {}
668 
670  virtual void startLookTiltLeft() {}
673  virtual void stopLookTiltLeft() {}
674  virtual void lookTiltLeft( double rads ) {}
676 
678  virtual void resetCamera() {}
679 
680  //
681  //
683  //
684  //
685 
687  virtual void setOrbitSpeed( double speed ) {}
688 
690  virtual void setSpeedScaledSpeed( double speed ) {}
691 
693  virtual void setLinearSpeed( double speed ) {}
694 
696  virtual void setRotationSpeed( double speed ) {}
697 
699  virtual void setMaxLinearSpeed( double maxSpeed ) {}
700 
702  virtual void setMinLinearSpeed( double minSpeed ) {}
703 
705  virtual void setLinearScaledSpeedGain( double gain ) {}
706 
710  virtual void resetOrientation() {}
711 
715  virtual void gotoTerrainCenter( DtUniqueID terrainPatch, bool retry ) {}
716 
718  virtual void resetAttachment() {}
719 
720 
722  virtual void stopAll() {}
723 
724  virtual void attachToObjects( const std::vector<DtUniqueID>& ids ) {}
725  virtual void setSecondaryAttachment( const std::vector<DtUniqueID>& ids ) {}
726  virtual void setLocationTrackAttachment( double x, double y, double z ) {}
727 
729  virtual std::vector<DtUniqueID> currentAttachments() const = 0;
730 
733  virtual void getLocationTrackAttachment( double& x, double& y, double& z )
734  const = 0;
735 
736  virtual void attachToPart( int partId) {}
737  virtual void detach() {}
738 
740  virtual void setSpeedScaling( bool trueFalse ) {}
741 
743  virtual void setConstrainToTerrain( bool trueFalse ) {}
744  virtual void setConstrainToCenter( bool trueFalse ) {}
745 
747  virtual void increaseViewResolution() {}
751  virtual void decreaseViewResolution() {}
754  virtual void setViewResolution( double resolution ) {}
756 
759  virtual void suppressConstrainToTerrain( bool trueFalse ) {}
763  virtual DtObserverObject::AttachType attachType();
764 
765  virtual void setHideModelOnAttach( bool hide ) {}
766 
770  virtual void setAttachmentHas3DCockpit( bool cockpit ) {}
771 
772  virtual void setOrientToTargetConstraint( bool orient ) {}
773  virtual void setOrbiting( bool orient ) {}
774  virtual void setOrientCameraToTargetConstraint( bool orient ) {}
775 
777  virtual void setFlashlightEnabled(bool enabled);
778 
780  virtual void setCameraShakeRotation(double x, double y, double z, double w);
781 
783  virtual void getCameraShakeRotation(double& x, double& y, double& z, double& w);
784 
786  virtual bool flashlightOn() const;
787 
789  virtual void getLocation(double &x, double &y, double& z) const
790  {
791  x = y = z = 0.;
792  }
793 
794  virtual void getEffectiveLocation(double &x, double &y, double& z) const
795  {
796  x = y = z = 0.;
797  }
798 
800  virtual void getObserverCameraPosition(double& x, double& y, double& z) const
801  {
802  x = y = z = 0;
803  }
804 
805  virtual void getOrientation( double& psi, double& theta, double& phi ) const
806  {
807  psi = theta = phi = 0.;
808  }
809 
811  virtual void getTopographicOrientation( double& psi, double& theta, double& phi ) const
812  {
813  psi = theta = phi = 0.;
814  }
815 
817  virtual void getLinearVelocity( double &x, double &y, double &z ) const
818  {
819  x = y = z = 0;
820  }
821 
823  virtual void getRotationalVelocity( double& x, double& y, double& z) const
824  {
825  x = y = z = 0.;
826  }
827 
828  virtual void getObserverOffsetVector( double& x, double& y, double& z ) const
829  {
830  x = y = z = 0.;
831  }
832 
835  virtual void getCameraFromParentOffsetVector( double& x, double& y, double& z ) const
836  {
837  x = y = z = 0.;
838  }
841  virtual void getCameraFromParentRotationOffset( double& x, double& y, double& z, double& w ) const
842  {
843  x = y = z = w =0.;
844  }
845 
848  virtual double linearSpeed()
849  {
850  return 0.;
851  }
852 
854  virtual void setAttachedLocation( double x, double y, double z ) {}
855 
857  virtual void setOrientation( double psi, double theta, double phi ) {}
858 
860  virtual void setTopographicOrientation( double psi, double theta, double phi ) {}
861 
863  virtual void setOrientation( double x, double y, double z, double w ) {}
864 
866  virtual void setAttachedOrientation( double psi, double theta, double phi ) {}
867 
868  virtual void setLocalModelScalingEnabled( bool enabled ) {}
869 
870  virtual void setLocalModelScalingAmount( float amount ) {}
871 
872  virtual void setObserverOffsetVector( double x, double y, double z ) {}
873 
874  virtual void getAttachedRotationOffset( double& x, double& y, double& z, double& w ) const
875  {
876  x = y = z = 0.;
877  w = 1.;
878  }
879 
880  virtual void getOrientation( double& x, double& y, double& z, double& w ) const
881  {
882  x = y = z = 0.;
883  w = 1.;
884  }
885 
886  // Get the orientation of the camera rotated by the orientation of the observer
888  virtual void getObserverCameraOrientation(double& psi, double& theta, double& phi, bool includeShake = true) const
889  {
890  psi = theta = phi = 0.;
891  }
892 
893  virtual void setAttachedRotationOffset( double x, double y, double z,
894  double w ) {}
895 
898  virtual void getObserverPlatformFront(double& x, double& y, double& z) const
899  {
900  x = y = z = 0.;
901  }
902 
905  virtual void getObserverPlatformUp(double& x, double& y, double& z) const
906  {
907  x = y = z = 0.;
908  }
909 
912  virtual void getObserverPlatformRight(double& x, double& y, double& z) const
913  {
914  x = y = z = 0.;
915  }
916 
919  virtual void getObserverCameraFront(double& x, double& y, double& z, bool includeShake=true) const
920  {
921  x = y = z = 0.;
922  }
923 
925  virtual void getObserverCameraUp(double& x, double& y, double& z, bool includeShake = true) const
926  {
927  x = y = z = 0.;
928  }
929 
931  virtual void getObserverCameraRight(double& x, double& y, double& z, bool includeShake = true) const
932  {
933  x = y = z = 0.;
934  }
935 
937  virtual void getCameraUp(double& x, double& y, double& z)
938  {
939  x = y = z = 0.;
940  }
941 
943  virtual void getCameraFront(double& x, double& y, double& z)
944  {
945  x = y = z = 0.;
946  }
947 
948 
950  virtual void getCameraRight(double& x, double& y, double& z)
951  {
952  x = y = z = 0.;
953  }
954 
957  virtual bool isMoving() const { return false; }
958 
959  virtual double topographicHeading() const
960  {
961  return 0.0;
962  }
963 
965  bool isGlobalTerrain() const
966  {
967  return myTerrainIsGlobalFlag;
968  }
969 
970  // Sends the location of the observer on the master to all others; only used
971  // if different
972  virtual void synchronizeLocation( double x, double y, double z ) {}
973 
974  // Sends the orientation of the observer on the master to all others; only used
975  // if different
976  virtual void synchronizeOrientation( double x, double y, double z, double w ) {}
977 
979  virtual void setSensor(const std::string& sensorName);
980 
982  virtual DtSensor* findSensor() const;
983 
985  virtual void disableSensor();
986 
987  private:
988 
991 
993  DtObserverObject& operator=( const DtObserverObject& );
994 
995  protected:
996 
998  std::string myName;
999  bool myIs2D;
1002  std::string myScaleType;
1014  };
1015 }
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:715
Definition: DtObserverObject.h:52
virtual void stopLevelPitchDown()
Definition: DtObserverObject.h:534
virtual void stopRollLeft()
Definition: DtObserverObject.h:493
virtual void stopAll()
Stop all current motion.
Definition: DtObserverObject.h:722
virtual void dragGravityRight(double windowUnits)
Definition: DtObserverObject.h:614
virtual void stopMoveLevelObserverLeft()
Definition: DtObserverObject.h:284
virtual void stopMoveLevelAttachedLeft()
Definition: DtObserverObject.h:384
virtual void stopMoveLevelObserverUp()
Definition: DtObserverObject.h:275
virtual void stopYawRight()
Definition: DtObserverObject.h:466
virtual double topographicHeading() const
Definition: DtObserverObject.h:959
virtual void stopMoveAttachedBack()
Definition: DtObserverObject.h:340
virtual void moveAttachedContextForward(double)
Definition: DtObserverObject.h:418
virtual void stopPitchUp()
Definition: DtObserverObject.h:475
virtual void rotateYawLeft(double rads)
Definition: DtObserverObject.h:457
DtUniqueID myUniqueId
Definition: DtObserverObject.h:1009
virtual void moveAttachedContextBack(double)
Definition: DtObserverObject.h:442
virtual void moveObserverDown(double)
Definition: DtObserverObject.h:249
DtObserverObject::AttachType myAttachType
Definition: DtObserverObject.h:1013
virtual void getRotationalVelocity(double &x, double &y, double &z) const
Get the observer&#39;s rotational velocity.
Definition: DtObserverObject.h:823
virtual void dragTerrain2(double myStartDragX, double myStartDragY, double myStartDragZ, int deltaMouseX, int deltaMouseY)
Definition: DtObserverObject.h:608
virtual void moveAttachedUp(double)
Definition: DtObserverObject.h:325
virtual void setHideModelOnAttach(bool hide)
Definition: DtObserverObject.h:765
virtual void stopMoveAttachedDown()
Definition: DtObserverObject.h:348
virtual void setTopographicOrientation(double psi, double theta, double phi)
turn to psi, theta, phi
Definition: DtObserverObject.h:860
virtual void stopMoveAttachedContextDown()
Definition: DtObserverObject.h:448
virtual void rollLevelRight(double rads)
Definition: DtObserverObject.h:551
virtual void getOrientation(double &x, double &y, double &z, double &w) const
Definition: DtObserverObject.h:880
virtual void getLinearVelocity(double &x, double &y, double &z) const
Get the observer&#39;s linear velocity.
Definition: DtObserverObject.h:817
virtual void stopMoveObserverLeft()
Definition: DtObserverObject.h:232
virtual void orbitUp(double rads)
Definition: DtObserverObject.h:575
virtual void lookTiltRight(double rads)
Definition: DtObserverObject.h:666
virtual void rotateLevelPitchDown(double rads)
Definition: DtObserverObject.h:535
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:710
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:931
Definition: DtObserverObject.h:43
virtual void setAttachedRotationOffset(double x, double y, double z, double w)
Definition: DtObserverObject.h:893
virtual void getEffectiveLocation(double &x, double &y, double &z) const
Definition: DtObserverObject.h:794
virtual void stopLevelYawLeft()
Definition: DtObserverObject.h:509
virtual void orientTo(double x, double y, double z)
Definition: DtObserverObject.h:602
virtual void stopOrbitingRight()
Definition: DtObserverObject.h:566
Definition: DtObserverObject.h:45
virtual void setLocationTrackAttachment(double x, double y, double z)
Definition: DtObserverObject.h:726
virtual void rotateLevelPitchUp(double rads)
Definition: DtObserverObject.h:527
virtual void orbitRight(double rads)
Definition: DtObserverObject.h:567
virtual void stopYawLeft()
Definition: DtObserverObject.h:456
virtual void stopMoveAttachedContextForward()
Definition: DtObserverObject.h:417
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:811
virtual void stopMoveAttachedLeft()
Definition: DtObserverObject.h:332
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:770
virtual void setOrientation(double x, double y, double z, double w)
turn to quat(x,y,z,w)
Definition: DtObserverObject.h:863
virtual void level()
Make the observer level Set the observer&#39;s pitch and roll angles normal to the gravity vector...
Definition: DtObserverObject.h:589
virtual void startIncreasingViewResolution()
Definition: DtObserverObject.h:749
virtual void stopMoveLevelAttachedRight()
Definition: DtObserverObject.h:357
virtual void setSpeedScaling(bool trueFalse)
scale speed based on distance from object of interest
Definition: DtObserverObject.h:740
std::string myScaleType
Definition: DtObserverObject.h:1002
virtual void setAttachedLocation(double x, double y, double z)
jump to x, y, z in attached entity coords
Definition: DtObserverObject.h:854
DtSensor * mySensor
Definition: DtObserverObject.h:1006
virtual void dragGravityLeft(double windowUnits)
Definition: DtObserverObject.h:613
virtual bool isMoving() const
Only called by master; indicates linear motion other than that caused by the movement of something we...
Definition: DtObserverObject.h:957
virtual void moveAttachedBack(double)
Definition: DtObserverObject.h:341
virtual void stopLookRight()
Definition: DtObserverObject.h:641
virtual void stopDecreasingViewResolution()
Definition: DtObserverObject.h:753
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:841
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:170
virtual void stopMoveObserverDown()
Definition: DtObserverObject.h:248
virtual void rotateLevelYawLeft(double rads)
Definition: DtObserverObject.h:510
virtual void getOrientation(double &psi, double &theta, double &phi) const
Definition: DtObserverObject.h:805
virtual void moveLevelObserverForward(double)
Definition: DtObserverObject.h:267
int myModelSet
Definition: DtObserverObject.h:1001
virtual void stopMoveAttachedUp()
Definition: DtObserverObject.h:324
virtual void stopPitchDown()
Definition: DtObserverObject.h:484
virtual void getLocation(double &x, double &y, double &z) const
Get the position/location of the observer platform.
Definition: DtObserverObject.h:789
virtual void stopMoveLevelAttachedUp()
Definition: DtObserverObject.h:375
virtual void scrollFlashlightWider(int wheelUnits)
Definition: DtObserverObject.h:620
virtual void stopMoveLevelObserverRight()
Definition: DtObserverObject.h:257
virtual void moveLevelAttachedLeft(double)
Definition: DtObserverObject.h:385
virtual void setMinLinearSpeed(double minSpeed)
Set the minimum linear speed (used for speed scaling)
Definition: DtObserverObject.h:702
virtual void dragGravityUp(double windowUnits)
Definition: DtObserverObject.h:611
virtual void moveObserverLeft(double)
Definition: DtObserverObject.h:233
double myMaxModelScaleFactor
Definition: DtObserverObject.h:1010
virtual void stopMoveObserverRight()
Definition: DtObserverObject.h:209
virtual void stopMoveLevelAttachedDown()
Definition: DtObserverObject.h:401
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:835
virtual void stopMoveLevelAttachedBack()
Definition: DtObserverObject.h:393
bool myTerrainIsGlobalFlag
Definition: DtObserverObject.h:1003
virtual void getObserverOffsetVector(double &x, double &y, double &z) const
Definition: DtObserverObject.h:828
virtual void stopLookLeft()
Definition: DtObserverObject.h:633
virtual void moveLevelObserverLeft(double)
Definition: DtObserverObject.h:285
virtual void setAttachType(DtObserverObject::AttachType type)
Set the type of observer attachment.
Definition: DtObserverObject.h:761
virtual void startDecreasingViewResolution()
Definition: DtObserverObject.h:752
virtual void lookDown(double rads)
Definition: DtObserverObject.h:658
virtual void setConstrainToCenter(bool trueFalse)
Definition: DtObserverObject.h:744
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:759
virtual void resetCamera()
Align the camera with the observer.
Definition: DtObserverObject.h:678
virtual void rotatePitchUp(double rads)
Definition: DtObserverObject.h:476
virtual void setOrientToTargetConstraint(bool orient)
Definition: DtObserverObject.h:772
virtual void stopLevelRollLeft()
Definition: DtObserverObject.h:542
virtual void setSecondaryAttachment(const std::vector< DtUniqueID > &ids)
Definition: DtObserverObject.h:725
virtual void moveAttachedContextLeft(double)
Definition: DtObserverObject.h:434
virtual void lookTiltLeft(double rads)
Definition: DtObserverObject.h:674
virtual void setOrbitSpeed(double speed)
Commands affecting Observer and Camera.
Definition: DtObserverObject.h:687
virtual void setMaxLinearSpeed(double maxSpeed)
Set the msximum linear speed (used for speed scaling)
Definition: DtObserverObject.h:699
virtual void moveLevelAttachedRight(double)
Definition: DtObserverObject.h:358
virtual void setAttachedOrientation(double psi, double theta, double phi)
turn to psi, theta, phi in attached entity coords
Definition: DtObserverObject.h:866
virtual void rollLevelLeft(double rads)
Definition: DtObserverObject.h:543
virtual void synchronizeOrientation(double x, double y, double z, double w)
Definition: DtObserverObject.h:976
double myLodScaleCenterMagMinLimit
Definition: DtObserverObject.h:1012
Definition: DtObserverObject.h:44
virtual void stopLevelRollRight()
Definition: DtObserverObject.h:550
virtual void rotateLevelYawRight(double rads)
Definition: DtObserverObject.h:519
SpeedScalingMode
Definition: DtObserverObject.h:50
virtual void moveAttachedForward(double)
Definition: DtObserverObject.h:317
virtual void scrollObserverBack(int wheelUnits)
Definition: DtObserverObject.h:616
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:605
virtual void moveLevelObserverUp(double)
Definition: DtObserverObject.h:276
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:857
virtual void setConstrainToTerrain(bool trueFalse)
constrain by terrain
Definition: DtObserverObject.h:743
bool myLodScaleCenterEnabled
Definition: DtObserverObject.h:1011
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:925
virtual void stopMoveLevelAttachedForward()
Definition: DtObserverObject.h:366
virtual void stopLevelYawRight()
Definition: DtObserverObject.h:518
virtual void stopMoveAttachedContextLeft()
Definition: DtObserverObject.h:433
virtual void stopOrbitingDown()
Definition: DtObserverObject.h:582
virtual void lookRight(double rads)
Definition: DtObserverObject.h:642
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
virtual void moveLevelAttachedBack(double)
Definition: DtObserverObject.h:394
virtual void attachToPart(int partId)
Definition: DtObserverObject.h:736
virtual void stopMoveLevelObserverDown()
Definition: DtObserverObject.h:301
virtual void rollLeft(double rads)
Definition: DtObserverObject.h:494
virtual void stopLookUp()
Definition: DtObserverObject.h:649
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:258
bool myFlashlightOn
Definition: DtObserverObject.h:1005
virtual void moveObserverForward(double)
Definition: DtObserverObject.h:217
virtual void rotateFlashlightYawLeft(double rads)
Definition: DtObserverObject.h:458
virtual void detach()
Definition: DtObserverObject.h:737
virtual void setLocalModelScalingEnabled(bool enabled)
Definition: DtObserverObject.h:868
virtual void setLinearSpeed(double speed)
Set the speed used for forward/backleft/right/up/down movement (observer and camera) ...
Definition: DtObserverObject.h:693
virtual void dragGravityDown(double windowUnits)
Definition: DtObserverObject.h:612
virtual void stopMoveObserverForward()
Definition: DtObserverObject.h:216
virtual void orbitDown(double rads)
Definition: DtObserverObject.h:583
double mySpeedScalingMslModeOffset
Definition: DtObserverObject.h:1008
virtual void stopLevelPitchUp()
Definition: DtObserverObject.h:526
virtual void stopOrbitingLeft()
Definition: DtObserverObject.h:558
virtual void setViewResolution(double resolution)
Definition: DtObserverObject.h:754
virtual void setLocalModelScalingAmount(float amount)
Definition: DtObserverObject.h:870
Definition of a sensor.
Definition: DtSensor.h:30
SpeedScalingMode mySpeedScalingMode
Definition: DtObserverObject.h:1007
virtual void getObserverCameraOrientation(double &psi, double &theta, double &phi, bool includeShake=true) const
(so, where the camera is actually looking)
Definition: DtObserverObject.h:888
virtual void rotateFlashlightPitchUp(double rads)
Definition: DtObserverObject.h:477
virtual void stopRollRight()
Definition: DtObserverObject.h:501
virtual void moveLevelObserverBack(double)
Definition: DtObserverObject.h:294
virtual void setLocation(double x, double y, double z)
jump to x, y, z
Definition: DtObserverObject.h:592
virtual void scrollLevelObserverBack(int wheelUnits)
Definition: DtObserverObject.h:618
virtual void moveLevelAttachedDown(double)
Definition: DtObserverObject.h:402
virtual void setOrbiting(bool orient)
Definition: DtObserverObject.h:773
std::string myName
Definition: DtObserverObject.h:998
virtual void scrollLevelObserverForward(int wheelUnits)
Definition: DtObserverObject.h:617
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
virtual void stopMoveAttachedContextRight()
Definition: DtObserverObject.h:409
virtual void scrollObserverForward(int wheelUnits)
Definition: DtObserverObject.h:615
virtual void stopMoveAttachedContextUp()
Definition: DtObserverObject.h:425
virtual void moveAttachedDown(double)
Definition: DtObserverObject.h:349
virtual double linearSpeed()
Get the observer object&#39;s calculated speed (includes speed scaling in the deriving class) ...
Definition: DtObserverObject.h:848
virtual void moveObserverBack(double)
Definition: DtObserverObject.h:241
virtual void stopMoveLevelObserverForward()
Definition: DtObserverObject.h:266
Definition: DtObserverObject.h:38
virtual void stopOrbitingUp()
Definition: DtObserverObject.h:574
virtual void stopMoveAttachedContextBack()
Definition: DtObserverObject.h:441
virtual void stopMoveAttachedForward()
Definition: DtObserverObject.h:316
virtual void stopLookTiltLeft()
Definition: DtObserverObject.h:673
virtual void setObserverOffsetVector(double x, double y, double z)
Definition: DtObserverObject.h:872
virtual void moveLevelAttachedForward(double)
Definition: DtObserverObject.h:367
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:596
virtual void moveAttachedRight(double)
Definition: DtObserverObject.h:310
virtual void moveAttachedContextDown(double)
Definition: DtObserverObject.h:449
virtual void moveLevelAttachedUp(double)
Definition: DtObserverObject.h:376
virtual double viewResolution() const
Zoom factor. Used to scale terrain and objects.
Definition: DtObserverObject.h:182
virtual void lookUp(double rads)
Definition: DtObserverObject.h:650
DT_DLL_vrfutil double mag(double x[3])
virtual void moveAttachedContextRight(double)
Definition: DtObserverObject.h:410
const char int mode
Definition: ioapi.h:38
virtual void setSpeedScaledSpeed(double speed)
Used for reset when there is no terrain.
Definition: DtObserverObject.h:690
virtual void jumpTo(DtUniqueID id)
jump to object specfied by ID.
Definition: DtObserverObject.h:600
virtual void rotatePitchDown(double rads)
Definition: DtObserverObject.h:485
virtual void setRotationSpeed(double speed)
Set the speed used for rotation (observer and camera)
Definition: DtObserverObject.h:696
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:898
Contains makVrv::DtUniqueID type.
virtual void orbitLeft(double rads)
Definition: DtObserverObject.h:559
virtual void stopLookTiltRight()
Definition: DtObserverObject.h:665
virtual void stopMoveObserverUp()
Definition: DtObserverObject.h:224
virtual void decreaseViewResolution()
Definition: DtObserverObject.h:751
double myScaleFactor
Definition: DtObserverObject.h:1000
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:937
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool isGlobalTerrain() const
Are we on a global terrain.
Definition: DtObserverObject.h:965
virtual void moveObserverRight(double)
Definition: DtObserverObject.h:210
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:905
virtual void stopLookDown()
Definition: DtObserverObject.h:657
virtual void stopMoveAttachedRight()
Definition: DtObserverObject.h:309
voidpf uLong offset
Definition: ioapi.h:42
virtual void rollRight(double rads)
Definition: DtObserverObject.h:502
virtual void moveObserverUp(double)
Definition: DtObserverObject.h:225
Definition: DtObserverObject.h:41
virtual void stopMoveObserverBack()
Definition: DtObserverObject.h:240
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:950
virtual void scrollFlashlightNarrower(int wheelUnits)
Definition: DtObserverObject.h:621
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:919
virtual void attachToObjects(const std::vector< DtUniqueID > &ids)
Definition: DtObserverObject.h:724
ModeSettingsMap myModeSettingsMap
Definition: DtObserverObject.h:1004
virtual void moveAttachedLeft(double)
Definition: DtObserverObject.h:333
virtual void rotateFlashlightPitchDown(double rads)
Definition: DtObserverObject.h:486
DtDe & myDe
Definition: DtObserverObject.h:997
virtual void moveLevelObserverDown(double)
Definition: DtObserverObject.h:302
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:912
virtual void stopIncreasingViewResolution()
Definition: DtObserverObject.h:750
virtual void setOrientCameraToTargetConstraint(bool orient)
Definition: DtObserverObject.h:774
virtual void getAttachedRotationOffset(double &x, double &y, double &z, double &w) const
Definition: DtObserverObject.h:874
virtual void lookLeft(double rads)
Definition: DtObserverObject.h:634
virtual void rotateYawRight(double rads)
Definition: DtObserverObject.h:467
virtual void moveAttachedContextUp(double)
Definition: DtObserverObject.h:426
virtual void stopMoveLevelObserverBack()
Definition: DtObserverObject.h:293
Definition: DtObserverObject.h:42
Definition: DtObserverObject.h:40
bool myIs2D
Definition: DtObserverObject.h:999
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:943
Definition: DtObserverObject.h:39
virtual void synchronizeLocation(double x, double y, double z)
Definition: DtObserverObject.h:972
virtual void setLinearScaledSpeedGain(double gain)
Set the linear gain as a % of max gain (precision)
Definition: DtObserverObject.h:705
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:800
virtual void rotateFlashlightYawRight(double rads)
Definition: DtObserverObject.h:468
AttachType
Definition: DtObserverObject.h:36
Contains DLL export macros.
virtual void resetAttachment()
reset orientation and position offsets
Definition: DtObserverObject.h:718

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)