![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtObserverMode.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtObserverMode_H_ 00014 #define DtObserverMode_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 00018 #include <makArchives/DtObserverModeRecord.h> 00019 #include <vrvCore/DtObserverObject.h> 00020 00021 #include <string> 00022 00023 00024 namespace makVrv 00025 { 00026 class DtDe; 00027 00033 class DT_DLL_VRVCORE DtObserverMode 00034 { 00035 public: 00036 00039 DtObserverMode(); 00040 00042 DtObserverMode( const DtObserverMode& orig ); 00043 00045 virtual ~DtObserverMode(); 00046 00048 DtObserverMode& operator=( const DtObserverMode& orig ); 00049 00053 void setIntKey( int intKey ); 00054 00056 int intKey() const; 00057 00059 void setName( const std::string& name ); 00060 00062 const std::string& name() const; 00063 00066 void setIs2D( bool trueOrFalse ); 00067 00069 bool is2D() const; 00070 00072 void setModelSet( int modelSet ); 00073 00075 int modelSet() const; 00076 00078 void setKeyMap( const std::string& keyMap ); 00079 00081 const std::string& keyMap() const; 00082 00084 00085 virtual int gainPrecision() const; 00086 virtual void setGainPrecision( int amt ); 00088 00090 00091 virtual int orbitSpeedGain() const; 00092 virtual void setOrbitSpeedGain( int gain ); 00094 00096 00097 virtual int linearScaledSpeedGain() const; 00098 virtual void setLinearScaledSpeedGain( int gain ); 00100 00102 00103 virtual int linearUnscaledSpeedGain() const; 00104 virtual void setLinearUnscaledSpeedGain( int gain ); 00106 00107 00109 00110 virtual int rotationSpeedGain() const; 00111 virtual void setRotationSpeedGain( int gain ); 00113 00115 00116 virtual double modelScaleFactor() const; 00117 virtual void setModelScaleFactor( double modelScaleFactor ); 00119 00120 00121 DtObserverObject::ScaleType modelScaleType() const; 00122 void setModelScaleType( DtObserverObject::ScaleType modelScaleFactor ); 00124 00126 00127 double maxModelScaleFactor() const; 00128 void setMaxModelScaleFactor( double maxModelScaleFactor ); 00130 00132 void setObserverSetting( int settingKey, bool value ); 00133 00135 bool observerSetting( int settingKey ) const; 00136 00138 void getRecord( DtDe& de, makArchives::DtObserverModeRecord& record ) const; 00139 00141 void setFromRecord( DtDe& de, const makArchives::DtObserverModeRecord& record ); 00142 00143 protected: 00145 DtObserverMode( int intKey ); 00146 00147 protected: 00148 00149 typedef std::map< int, bool> ObserverSettingsMap; 00150 00151 int myIntKey; 00152 std::string myName; // Display name 00153 int myModelSet; 00154 bool myIs2D; 00155 std::string myKeyMap; 00156 int myOrbitSpeedGain; 00157 int myLinearScaledSpeedGain; 00158 int myLinearUnscaledSpeedGain; 00159 int myRotationSpeedGain; 00160 int myGainPrecision; 00161 double myModelScaleFactor; 00162 DtObserverObject::ScaleType myModelScaleType; 00163 double myMaxModelScaleFactor; 00164 ObserverSettingsMap myObserverSettings; 00165 }; 00166 } 00167 00168 #endif 00169