VR-Forces 5.0.3 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) 2020 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  void setLodScaleCenterEnabled(bool enabled);
113  bool lodScaleCenterEnabled() const;
115 
117  void setLodScaleCenterMagMinLimit(double limit);
119  double lodScaleCenterMagMinLimit() const;
121 
123  void setNorthType(unsigned int northType);
125  unsigned int northType() const;
127 
128  protected:
129 
130  friend class boost::serialization::access;
131 
135  template<class Archive>
136  void serialize(Archive & ar, const unsigned int version)
137  {
138  ar & BOOST_SERIALIZATION_NVP(myAttachType);
139  ar & BOOST_SERIALIZATION_NVP(myHideModelOnAttach);
140  ar & BOOST_SERIALIZATION_NVP(myOrientToTargetConstraint);
141  // no longer used
142  ar & BOOST_SERIALIZATION_NVP(mySpeedScaling);
143  // no longer used
144  ar & BOOST_SERIALIZATION_NVP(myConstrainToTerrain);
145  ar & BOOST_SERIALIZATION_NVP(myOrbitSpeedGain);
146  ar & BOOST_SERIALIZATION_NVP(myRotationSpeedGain);
147  ar & BOOST_SERIALIZATION_NVP(myLinearScaledSpeedGain);
148  ar & BOOST_SERIALIZATION_NVP(myLinearUnscaledSpeedGain);
149  //ar & BOOST_SERIALIZATION_NVP(myGainPrecision);
150  ar & BOOST_SERIALIZATION_NVP(myOrbitSpeed);
151  ar & BOOST_SERIALIZATION_NVP(myRotationSpeed);
152  ar & BOOST_SERIALIZATION_NVP(myLinearSpeed);
153  if ( version >= 2 )
154  {
155  ar & BOOST_SERIALIZATION_NVP(myObserverMode);
156  }
157  if ( version >= 3 )
158  {
159  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingMode);
160 
161  if (version == 3)
162  {
163  double mySpeedScalingAslModeOffset = 0;
164  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingAslModeOffset);
165  mySpeedScalingMslModeOffset = mySpeedScalingAslModeOffset;
166  }
167  }
168  if (version >= 4)
169  {
170  ar & BOOST_SERIALIZATION_NVP(mySpeedScalingMslModeOffset);
171  }
172  if (version >= 5)
173  {
174  ar & BOOST_SERIALIZATION_NVP(myProjectionIs2D);
175  }
176  if (version >= 6)
177  {
178  ar & BOOST_SERIALIZATION_NVP(myLodScaleCenterEnabled);
179  ar & BOOST_SERIALIZATION_NVP(myLodScaleCenterMagMinLimit);
180  }
181  if (version >= 7)
182  {
183  ar & BOOST_SERIALIZATION_NVP(myNorthType);
184  }
185  }
186 
187  protected:
188 
189  std::string myObserverMode;
199  //int myGainPrecision;
200  double myOrbitSpeed;
208  unsigned int myNorthType;
209  };
210 }
211 
213 
214 
std::string myObserverMode
Definition: DtObserverSettingsRecord.h:189
AttachType
Definition: DtObserverSettingsRecord.h:24
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
bool myOrientToTargetConstraint
Definition: DtObserverSettingsRecord.h:192
int myLinearUnscaledSpeedGain
Definition: DtObserverSettingsRecord.h:198
double myLinearSpeed
Definition: DtObserverSettingsRecord.h:202
bool myProjectionIs2D
Definition: DtObserverSettingsRecord.h:205
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:136
double myLodScaleCenterMagMinLimit
Definition: DtObserverSettingsRecord.h:207
AttachType myAttachType
Definition: DtObserverSettingsRecord.h:190
Definition: DtObserverSettingsRecord.h:26
Contains DLL export macros.
double myRotationSpeed
Definition: DtObserverSettingsRecord.h:201
bool mySpeedScaling
Definition: DtObserverSettingsRecord.h:193
Definition: DtObserverSettingsRecord.h:32
unsigned int myNorthType
Definition: DtObserverSettingsRecord.h:208
bool myLodScaleCenterEnabled
Definition: DtObserverSettingsRecord.h:206
Definition: DtObserverSettingsRecord.h:28
unsigned mySpeedScalingMode
Definition: DtObserverSettingsRecord.h:203
double mySpeedScalingMslModeOffset
Definition: DtObserverSettingsRecord.h:204
double myOrbitSpeed
Definition: DtObserverSettingsRecord.h:200
int myRotationSpeedGain
Definition: DtObserverSettingsRecord.h:196
Definition: DtObserverSettingsRecord.h:30
Definition: DtObserverSettingsRecord.h:31
bool myHideModelOnAttach
Definition: DtObserverSettingsRecord.h:191
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
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
int myOrbitSpeedGain
Definition: DtObserverSettingsRecord.h:195
int myLinearScaledSpeedGain
Definition: DtObserverSettingsRecord.h:197
bool myConstrainToTerrain
Definition: DtObserverSettingsRecord.h:194

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)