![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEyepointControlWidgetLogic.h,v $ $Revision: 1.23 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtEyepointControlWidgetLogic_H_ 00014 #define DtEyepointControlWidgetLogic_H_ 00015 00016 #include <vrvCoreQt/vrvCoreQt.h> 00017 #include <vrvCore/DtObserver.h> 00018 #include <vrvCore/DtSubjectObserver.h> 00019 00020 #include <string> 00021 00022 namespace makVrv 00023 { 00024 class DtDe; 00025 class DtEyepointControlWidgetInterface; 00026 class DtInputDriver; 00027 class DtObserver; 00028 00031 class DT_DLL_VRVCOREQT DtEyepointControlWidgetLogic : public DtDeObserver 00032 { 00033 00034 public: 00035 00037 static DtEyepointControlWidgetLogic* create(DtDe& de, 00038 DtEyepointControlWidgetInterface* iFace); 00039 00041 virtual ~DtEyepointControlWidgetLogic(); 00042 00043 void update(); 00044 00046 void setLinearSpeedGain( int gain ); 00047 00049 void setRotationSpeedGain( int gain ); 00050 00052 void setOrbitSpeedGain( int gain ); 00053 00055 void setScaling( bool trueFalse ); 00056 00058 void setConstrain( bool trueFalse ); 00059 00061 void setViewControl( bool trueFalse ); 00062 00064 void setTerrainDragging( bool trueFalse ); 00065 00067 virtual void setModelScaleFactor( int factor ); 00068 00069 virtual void setViewMagnification( double mag ); 00070 00071 virtual void slot_activate(DtDe* de); 00072 virtual void slot_deactivate(DtDe* de); 00073 00074 protected: 00075 00077 DtEyepointControlWidgetLogic(DtDe& de, DtEyepointControlWidgetInterface* iFace); 00078 00080 void setCurrentObserver( DtObserver* observer ); 00081 00083 void onObserverAboutToBeDestroyed( DtInputDriver* inputDriver, 00084 DtObserver* observer ); 00085 00087 void onCurrentObserverChanged( DtInputDriver* inputDriver, 00088 DtObserver* observer ); 00089 00091 void onAttachedToChanged( DtObserver* observer ); 00092 00094 void onAttachTypeChanged( DtObserver* observer ); 00095 00097 void onObserverModeChanged( DtObserver* observer, int newObserverMode ); 00098 00100 void onGainPrecisionChanged( DtObserver* observer, int precision ); 00101 00103 void onLinearScaledSpeedGainChanged( DtObserver* observer, int gain ); 00104 00106 void onLinearUnscaledSpeedGainChanged( DtObserver* observer, int gain ); 00107 00109 void onRotationSpeedGainChanged( DtObserver* observer, int gain ); 00110 00112 void onOrbitSpeedGainChanged( DtObserver* observer, int gain ); 00113 00115 void onObserverModeSettingChanged( int observerMode, int settingKey ); 00116 00118 void onObserverModeModelScaleFactorChanged( int observerMode ); 00119 00121 void onObserverModeMaxModelScaleFactorChanged( int observerMode ); 00122 00123 void onObserverViewMagnificationChanged( DtObserver* observer, double mag ); 00124 00127 void updateObserverMode( int observerMode ); 00128 00129 protected: 00130 00131 DtDe& myDe; 00132 DtEyepointControlWidgetInterface* myInterface; 00133 DtInputDriver* myInputDriver; 00134 00135 DtObserver* myCurrentObserver; 00136 }; 00137 } 00138 #endif