VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverModeRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <string>
15 #include <map>
16 
17 namespace makArchives
18 {
24  {
25  public:
26 
27  typedef std::map< std::string, bool> ObserverSettingsMap;
28 
31 
34 
37 
39  DtObserverModeRecord& operator=( const DtObserverModeRecord& orig );
40 
45  void setModeKey( const std::string& modeKey );
46 
48  const std::string& modeKey() const;
49 
51  void setName( const std::string& name );
52 
54  const std::string& name() const;
55 
58  void setIs2D( bool trueOrFalse );
59 
61  bool is2D() const;
62 
64  void setModelSet( int modelSet );
65 
67  int modelSet() const;
68 
70  void setKeyMap( const std::string& keyMap );
71 
73  const std::string& keyMap() const;
74 
76  const std::string& sensor() const;
78  void setSensor(const std::string& sensor);
80 
82  int gainPrecision() const;
84  void setGainPrecision( int amt );
86 
88  int orbitSpeedGain() const;
90  void setOrbitSpeedGain( int gain );
92 
94  int linearScaledSpeedGain() const;
96  void setLinearScaledSpeedGain( int gain );
98 
100  int linearUnscaledSpeedGain() const;
102  void setLinearUnscaledSpeedGain( int gain );
104 
106  int rotationSpeedGain() const;
108  void setRotationSpeedGain( int gain );
110 
112  double modelScaleFactor() const;
114  void setModelScaleFactor( double modelScaleFactor );
116 
118  const std::string& modelScaleType() const;
120  void setModelScaleType( const std::string& modelScaleType );
122 
124  double maxModelScaleFactor() const;
126  void setMaxModelScaleFactor( double maxModelScaleFactor );
128 
130  void setObserverSetting( const std::string& key, bool enabled );
132  bool observerSetting( const std::string& key ) const;
134 
136  void setSpeedScalingMode( unsigned int mode );
138  unsigned int speedScalingMode() const;
140 
142  void setSpeedScalingMslModeOffset( double offset );
144  double speedScalingMslModeOffset() const;
146 
148  void setCameraShakeEnabled( bool enabled );
150  bool cameraShakeEnabled() const;
152 
154  void setCameraShakeIntensity( double offset );
156  double cameraShakeIntensity() const;
158 
160  void setLodScaleCenterEnabled(bool enabled);
162  bool lodScaleCenterEnabled() const;
164 
166  void setLodScaleCenterMagMinLimit(double limit);
168  double lodScaleCenterMagMinLimit() const;
170 
172  unsigned int northType() const;
174  void setNorthType(unsigned int northType);
176 
178  void setColorControlEnabled(bool enabled);
180  bool colorControlEnabled() const;
182 
184  void setColorControlInvert(bool enabled);
186  bool colorControlInvert() const;
188 
190  void setColorControlContrast(double value);
192  double colorControlContrast() const;
194 
196  void setColorControlBrightness(double value);
198  double colorControlBrightness() const;
200 
202  void setColorControlColorMix(double value);
204  double colorControlColorMix() const;
206 
207  const ObserverSettingsMap& observerSettingsMap() const;
208 
209 
210  protected:
211  friend class boost::serialization::access;
212 
213  template <typename Archive>
214  void serialize(Archive& ar, unsigned int version)
215  {
216  ar & BOOST_SERIALIZATION_NVP(myModeKey);
217  ar & BOOST_SERIALIZATION_NVP(myName);
218  ar & BOOST_SERIALIZATION_NVP(myIs2D);
219  ar & BOOST_SERIALIZATION_NVP(myModelSet);
220  ar & BOOST_SERIALIZATION_NVP(myKeyMap);
221  ar & BOOST_SERIALIZATION_NVP(myOrbitSpeedGain);
222  ar & BOOST_SERIALIZATION_NVP(myLinearScaledSpeedGain);
223  ar & BOOST_SERIALIZATION_NVP(myLinearUnscaledSpeedGain);
224  ar & BOOST_SERIALIZATION_NVP(myRotationSpeedGain);
225  ar & BOOST_SERIALIZATION_NVP(myGainPrecision);
226  if ( version >= 1 )
227  {
228  ar & BOOST_SERIALIZATION_NVP(myModelScaleFactor);
229  }
230  if ( version >= 2 )
231  {
232  if ( version < 6 )
233  {
234  ar & BOOST_SERIALIZATION_NVP(myModelScaleType);
235  }
236  ar & BOOST_SERIALIZATION_NVP(myMaxModelScaleFactor);
237  }
238  if ( version >= 3 )
239  {
240  ar & BOOST_SERIALIZATION_NVP(mySensor);
241  }
242  ar & BOOST_SERIALIZATION_NVP(myObserverSettingsMap);
243  if ( version >= 4 )
244  {
245  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingMode);
246  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingMslModeOffset);
247  }
248  if ( version >= 5 )
249  {
250  ar & BOOST_SERIALIZATION_NVP(myCameraShakeEnabled);
251  ar & BOOST_SERIALIZATION_NVP(myCameraShakeIntensity);
252  }
253  if ( version >= 6 )
254  {
255  ar & BOOST_SERIALIZATION_NVP(myMutableModelScaleTypeString);
256  }
257  if (version >= 7)
258  {
259  ar & BOOST_SERIALIZATION_NVP(myLodScaleCenterEnabled);
260  ar & BOOST_SERIALIZATION_NVP(myLodScaleCenterMagMinLimit);
261  }
262  if (version >= 8)
263  {
264  ar & BOOST_SERIALIZATION_NVP(myNorthType);
265  }
266  if (version >= 9)
267  {
268  ar& BOOST_SERIALIZATION_NVP(myColorControlEnabled);
269  ar& BOOST_SERIALIZATION_NVP(myColorControlInvert);
270  ar& BOOST_SERIALIZATION_NVP(myColorControlContrast);
271  ar& BOOST_SERIALIZATION_NVP(myColorControlBrightness);
272  ar& BOOST_SERIALIZATION_NVP(myColorControlColorMix);
273  }
274  }
275 
276  protected:
277  std::string myModeKey;
278  std::string myName;
279  std::string mySensor;
280  bool myIs2D;
281  std::string myKeyMap;
298  unsigned int myNorthType;
304  private:
305  // Mutable so that we can provide backward compatibility with settings files that contain
306  // the old enum instead of the new string
307  mutable std::string myMutableModelScaleTypeString;
308  };
309 }
310 
int myLinearUnscaledSpeedGain
Definition: DtObserverModeRecord.h:285
bool myColorControlEnabled
Definition: DtObserverModeRecord.h:299
bool myLodScaleCenterEnabled
Definition: DtObserverModeRecord.h:296
void serialize(Archive &ar, unsigned int version)
Definition: DtObserverModeRecord.h:214
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
DtObserverModeRecord is the serializable record used to read and write a Visual Mode&#39;s Configuration ...
Definition: DtObserverModeRecord.h:23
std::string myKeyMap
Definition: DtObserverModeRecord.h:281
double myModelScaleFactor
Definition: DtObserverModeRecord.h:288
float myColorControlColorMix
Definition: DtObserverModeRecord.h:303
unsigned myModelScaleType
Definition: DtObserverModeRecord.h:290
double myCameraShakeIntensity
Definition: DtObserverModeRecord.h:295
unsigned int myNorthType
Definition: DtObserverModeRecord.h:298
bool myIs2D
Definition: DtObserverModeRecord.h:280
Contains DLL export macros.
int myGainPrecision
Definition: DtObserverModeRecord.h:287
ObserverSettingsMap myObserverSettingsMap
Definition: DtObserverModeRecord.h:289
std::string mySensor
Definition: DtObserverModeRecord.h:279
int myModelSet
Definition: DtObserverModeRecord.h:282
std::string myModeKey
Definition: DtObserverModeRecord.h:277
int myOrbitSpeedGain
Definition: DtObserverModeRecord.h:283
float myColorControlBrightness
Definition: DtObserverModeRecord.h:302
int myRotationSpeedGain
Definition: DtObserverModeRecord.h:286
double myMaxModelScaleFactor
Definition: DtObserverModeRecord.h:291
bool myCameraShakeEnabled
Definition: DtObserverModeRecord.h:294
std::string myName
Definition: DtObserverModeRecord.h:278
double mySpeedScalingMslModeOffset
Definition: DtObserverModeRecord.h:293
std::string myMutableModelScaleTypeString
Definition: DtObserverModeRecord.h:307
std::map< std::string, bool > ObserverSettingsMap
Definition: DtObserverModeRecord.h:27
const char int mode
Definition: ioapi.h:38
float myColorControlContrast
Definition: DtObserverModeRecord.h:301
double myLodScaleCenterMagMinLimit
Definition: DtObserverModeRecord.h:297
voidpf uLong offset
Definition: ioapi.h:42
unsigned mySpeedScalingMode
Definition: DtObserverModeRecord.h:292
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
int myLinearScaledSpeedGain
Definition: DtObserverModeRecord.h:284
bool myColorControlInvert
Definition: DtObserverModeRecord.h:300

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)