![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************** 00002 * Copyright (c) 2011 MaK Technologies, Inc. 00003 * All rights reserved. 00004 ********************************************************************/ 00005 /******************************************************************** 00006 * $RCSfile: DtEyepointInfoWidgetLogic.h,v $ $Revision: 1.19 $ $State: Exp $ 00007 ********************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCoreQt/vrvCoreQt.h> 00016 #include <vrvCore/DtUniqueID.h> 00017 #include <vrvCore/DtSubjectObserver.h> 00018 #include <vrvUtil/DtSignalConnectionManager.h> 00019 #include <makArchives/DtDisplayUnitsSettingsRecord.h> 00020 #include <matrix/vlVector.h> 00021 00022 class QString; 00023 class DtTaitBryan; 00024 00025 namespace makVrv 00026 { 00027 00028 class DtDe; 00029 class DtObserver; 00030 class DtInputDriver; 00031 class DtObserverObject; 00032 class DtEyepointInfoWidgetInterface; 00033 00036 class DT_DLL_VRVCOREQT DtEyepointInfoWidgetLogic : public DtDeObserver 00037 { 00038 public: 00039 00041 static DtEyepointInfoWidgetLogic* create( DtDe& de, 00042 DtEyepointInfoWidgetInterface* iFace ); 00043 00045 virtual ~DtEyepointInfoWidgetLogic(); 00046 00047 virtual void setCoordinateSystem( 00048 makArchives::DtDisplayUnitsSettingsRecord::CoordSys s ); 00049 virtual makArchives::DtDisplayUnitsSettingsRecord::CoordSys coordSys() const; 00050 00052 void onObserverAboutToBeDestroyed( DtInputDriver* inputDriver, 00053 DtObserver* observer ); 00054 00055 void onCurrentObserverChanged( DtInputDriver* inputDriver, 00056 DtObserver* observer ); 00057 00058 void slot_unitChanged( int type ); 00059 void slot_decimalsChanged( int type ); 00060 00061 virtual void slot_activate( DtDe* de ); 00062 virtual void slot_deactivate( DtDe* de ); 00063 00064 public: 00065 00066 virtual void clear(); 00067 virtual void resetAllFields(); 00068 virtual void update(); 00069 00070 virtual void onCoordSysChanged( const QString& s ); 00071 00072 virtual void onOrientationModeChanged( const QString& s ); 00073 00074 protected: 00075 00076 void updateLocation( DtObserverObject* observer ); 00077 void updateOrientation( DtObserverObject* observer ); 00078 00079 void updateLocationLabels(); 00080 void updateOrientationLabels(); 00081 00082 private: 00083 00085 DtEyepointInfoWidgetLogic( DtDe& de, 00086 DtEyepointInfoWidgetInterface* iFace ); 00087 00088 protected: 00089 00090 DtDe& myDe; 00091 DtEyepointInfoWidgetInterface* myInterface; 00092 00093 makArchives::DtDisplayUnitsSettingsRecord::CoordSys myCoordSys; 00094 DtSignalConnectionManager mySignals; 00095 bool myOrientationModeIsLocalFlag; 00096 }; 00097 00098 }