VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtEyepointControlWidgetLogic.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)