VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverSettingsRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <string>
15 
16 namespace makArchives
17 {
21  {
22  public:
23 
25  {
35  AttachTypeMimicLocationTrack
36  };
37 
40 
43 
45  DtObserverSettingsRecord& operator=(const DtObserverSettingsRecord& orig);
46 
49 
51 
52 
53  void setObserverMode( const std::string& observerMode );
54  const std::string& observerMode() const;
55 
56  void setAttachType( AttachType type );
57  AttachType attachType() const;
58 
59  void setHideModelOnAttach( bool hide );
60  bool hideModelOnAttach() const;
61 
62  void setOrientToTargetConstraint( bool orient );
63  bool orientToTargetConstraint() const;
64 
65  void setOrbitSpeedGain( int gain );
66  int orbitSpeedGain() const;
67 
68  void setRotationSpeedGain( int gain );
69  int rotationSpeedGain() const;
70 
71  void setLinearScaledSpeedGain( int gain );
72  int linearScaledSpeedGain() const;
73 
74  void setLinearUnscaledSpeedGain( int gain );
75  int linearUnscaledSpeedGain() const;
76 
79 
80  void setOrbitSpeed( double speed );
81  double orbitSpeed() const;
82 
83  void setRotationSpeed( double speed );
84  double rotationSpeed() const;
85 
86  void setLinearSpeed( double speed );
87  double linearSpeed() const;
88 
90  void setSpeedScalingMode( unsigned mode );
92  unsigned speedScalingMode() const;
94 
96  void setSpeedScalingMslModeOffset( double offset );
98  double speedScalingMslModeOffset() const;
100 
102  void setProjectionIs2D( bool is2D );
107  bool projectionIs2D() const;
109 
111  virtual void setIsFrustumBasedViewMagnificationEnabled(bool isEnabled);
114  virtual bool isFrustumBasedViewMagnificationEnabled() const;
116 
118  void setNorthType(unsigned int northType);
120  unsigned int northType() const;
122 
123  protected:
124 
125  friend class boost::serialization::access;
126 
130  template<class Archive>
131  void serialize(Archive & ar, const unsigned int version)
132  {
133  ar & BOOST_SERIALIZATION_NVP(myAttachType);
134  ar & BOOST_SERIALIZATION_NVP(myHideModelOnAttach);
135  ar & BOOST_SERIALIZATION_NVP(myOrientToTargetConstraint);
136  // no longer used
137  ar & BOOST_SERIALIZATION_NVP(mySpeedScaling);
138  // no longer used
139  ar & BOOST_SERIALIZATION_NVP(myConstrainToTerrain);
140  ar & BOOST_SERIALIZATION_NVP(myOrbitSpeedGain);
141  ar & BOOST_SERIALIZATION_NVP(myRotationSpeedGain);
142  ar & BOOST_SERIALIZATION_NVP(myLinearScaledSpeedGain);
143  ar & BOOST_SERIALIZATION_NVP(myLinearUnscaledSpeedGain);
144  //ar & BOOST_SERIALIZATION_NVP(myGainPrecision);
145  ar & BOOST_SERIALIZATION_NVP(myOrbitSpeed);
146  ar & BOOST_SERIALIZATION_NVP(myRotationSpeed);
147  ar & BOOST_SERIALIZATION_NVP(myLinearSpeed);
148  if ( version >= 2 )
149  {
150  ar & BOOST_SERIALIZATION_NVP(myObserverMode);
151  }
152  if ( version >= 3 )
153  {
154  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingMode);
155 
156  if (version == 3)
157  {
158  double mySpeedScalingAslModeOffset = 0;
159  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingAslModeOffset);
160  mySpeedScalingMslModeOffset = mySpeedScalingAslModeOffset;
161  }
162  }
163  if (version >= 4)
164  {
165  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingMslModeOffset);
166  }
167  if (version >= 5)
168  {
169  ar & BOOST_SERIALIZATION_NVP(myProjectionIs2D);
170  }
171  if (version >= 6 && version <= 8)
172  {
173  ar & BOOST_SERIALIZATION_NVP(myLodScaleCenterEnabled);
174  ar & BOOST_SERIALIZATION_NVP(myLodScaleCenterMagMinLimit);
175  }
176  if (version >= 7)
177  {
178  ar & BOOST_SERIALIZATION_NVP(myNorthType);
179  }
180  if (version >= 8)
181  {
182  ar & BOOST_SERIALIZATION_NVP(myIsFrustumBasedViewMagnificationEnabled);
183  }
184  }
185 
186  protected:
187 
188  std::string myObserverMode;
198  //int myGainPrecision;
199  double myOrbitSpeed;
206  unsigned int myNorthType;
207 
208  // deprecated, exists in observer mode record
211  };
212 }
213 
215 
216 
std::string myObserverMode
Definition: DtObserverSettingsRecord.h:188
AttachType
Definition: DtObserverSettingsRecord.h:24
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
bool myOrientToTargetConstraint
Definition: DtObserverSettingsRecord.h:191
int myLinearUnscaledSpeedGain
Definition: DtObserverSettingsRecord.h:197
double myLinearSpeed
Definition: DtObserverSettingsRecord.h:201
bool myProjectionIs2D
Definition: DtObserverSettingsRecord.h:204
Definition: DtObserverSettingsRecord.h:33
Definition: DtObserverSettingsRecord.h:29
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the &amp; operator is defined similar to &lt;&lt;...
Definition: DtObserverSettingsRecord.h:131
double myLodScaleCenterMagMinLimit
Definition: DtObserverSettingsRecord.h:210
AttachType myAttachType
Definition: DtObserverSettingsRecord.h:189
Definition: DtObserverSettingsRecord.h:26
Contains DLL export macros.
double myRotationSpeed
Definition: DtObserverSettingsRecord.h:200
bool mySpeedScaling
Definition: DtObserverSettingsRecord.h:192
Definition: DtObserverSettingsRecord.h:32
unsigned int myNorthType
Definition: DtObserverSettingsRecord.h:206
bool myLodScaleCenterEnabled
Definition: DtObserverSettingsRecord.h:209
Definition: DtObserverSettingsRecord.h:28
unsigned mySpeedScalingMode
Definition: DtObserverSettingsRecord.h:202
double mySpeedScalingMslModeOffset
Definition: DtObserverSettingsRecord.h:203
double myOrbitSpeed
Definition: DtObserverSettingsRecord.h:199
int myRotationSpeedGain
Definition: DtObserverSettingsRecord.h:195
Definition: DtObserverSettingsRecord.h:30
Definition: DtObserverSettingsRecord.h:31
bool myHideModelOnAttach
Definition: DtObserverSettingsRecord.h:190
A DtObserverSettingsRecord contains the settings of an observer.
Definition: DtObserverSettingsRecord.h:20
const char int mode
Definition: ioapi.h:38
Definition: DtObserverSettingsRecord.h:27
voidpf uLong offset
Definition: ioapi.h:42
bool myIsFrustumBasedViewMagnificationEnabled
Definition: DtObserverSettingsRecord.h:205
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
int myOrbitSpeedGain
Definition: DtObserverSettingsRecord.h:194
int myLinearScaledSpeedGain
Definition: DtObserverSettingsRecord.h:196
bool myConstrainToTerrain
Definition: DtObserverSettingsRecord.h:193

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)