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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)