![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtPerformanceOptionsWidgetLogic.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00017 #include <vrvUtil/DtVirtualBaseClass.h> 00018 00019 #include <string> 00020 00021 namespace makVrv 00022 { 00023 class DtDe; 00024 } 00025 00026 class DtDeadReckoningSettings; 00027 00028 namespace makVrf 00029 { 00030 class DtVrfBackendState; 00031 class DtPerformanceOptionsWidgetInterface; 00032 00033 class DT_DLL_VRFGUICOREQT DtPerformanceOptionsWidgetLogic 00034 { 00035 00036 public: 00037 00039 DtPerformanceOptionsWidgetLogic(makVrv::DtDe& de, DtPerformanceOptionsWidgetInterface& iFace ); 00040 00042 virtual ~DtPerformanceOptionsWidgetLogic(); 00043 00044 protected: 00045 00048 virtual void slot_performanceOptionsChanged(double); 00049 00050 virtual void slot_userDefinedSmoothing(bool); 00051 00052 virtual void slot_smoothingEnabled(bool); 00053 virtual void slot_userDefinedSmoothingPeriod(double); 00054 00055 virtual void slot_deadReckoningSettingsChanged(const DtDeadReckoningSettings&); 00056 00057 virtual double setSliderFromTranslationThreshold(); 00058 00059 virtual double translationThresholdFromPosition(int position) const; 00060 virtual double rotationThresholdFromPosition(int position) const; 00061 virtual double smoothingValueFromPosition(int position) const; 00062 00064 void sendDRDataToServers(double); 00065 00066 virtual void updateTranslationLabel(double threshold); 00067 virtual void updateRotationLabel(double threshold); 00068 virtual void updateSmoothingLabel(double threshold); 00069 00070 protected: 00071 makVrv::DtDe& myDe; 00072 DtPerformanceOptionsWidgetInterface& myInterface; 00073 double myLastSentTranslationThreshold; 00074 double myLastSentRotationThreshold; 00075 double myMaxTranslationThreshold; 00076 double myMaxRotationThreshold; 00077 double myMaxSmoothingThreshold; 00078 }; 00079 00080 class DT_DLL_VRFGUICOREQT DtPerformanceOptionsWidgetLogicCreator : public makVrv::DtVirtualBaseClass 00081 { 00082 public: 00083 DtPerformanceOptionsWidgetLogicCreator(); 00084 virtual ~DtPerformanceOptionsWidgetLogicCreator(); 00085 00087 static DtPerformanceOptionsWidgetLogicCreator& instance(makVrv::DtDe&); 00088 00090 static void registerInstance(makVrv::DtDe& de, DtPerformanceOptionsWidgetLogicCreator* instance); 00091 00092 virtual DtPerformanceOptionsWidgetLogic* create(makVrv::DtDe& de, DtPerformanceOptionsWidgetInterface&); 00093 }; 00094 }