VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEntitySettingsRecord.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2018 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 namespace makArchives
15 {
16 
20  {
21  public:
22  enum BuoyancyCullType { BuoyancyCullNone, BuoyancyCullFrontFacing, BuoyancyCullFrustum };
23 
26 
29 
31  DtEntitySettingsRecord& operator = ( const DtEntitySettingsRecord& obj );
32 
35 
38 
39  bool groundClampingEnabled() const;
40  void setGroundClampingEnabled( bool enabled );
41 
42  float groundClampingRadiusScale() const;
43  void setGroundClampingRadiusScale( float scale );
44 
45  bool groundClampingCullingEnabled() const;
46  void setGroundClampingCullingEnabled( bool enabled );
47 
48  bool orientationClampingEnabled() const;
49  void setOrientationClampingEnabled( bool enabled );
50 
51  bool lifeformsUprightEnabled() const;
52  void setLifeformsUprightEnabled( bool enabled );
53 
54  bool smoothingEnabled() const;
55  void setSmoothingEnabled( bool enabled );
56 
57  float smoothingPeriod() const;
58  void setSmoothingPeriod( float period );
59 
60  bool showEntityLabels() const;
61  void setShowEntityLabels( bool show );
62 
63  bool rotateEntitySymbols() const;
64  void setRotateEntitySymbols( bool show );
65 
66  bool showStealthsEnabled() const;
67  void setShowStealthsEnabled( bool enabled );
68 
69  bool infoPopupsOnSelectEnabled() const;
70  void setInfoPopupsOnSelectEnabled( bool enabled );
71 
72  bool fireDetonateLinesEnabled() const;
73  void setFireDetonateLinesEnabled( bool enabled );
74 
75  bool entityEmitterVolumesEnabled() const;
76  void setEntityEmitterVolumesEnabled( bool enabled );
77 
78  bool entityHeightAboveTerrainLinesEnabled() const;
79  void setEntityHeightAboveTerrainLinesEnabled( bool enabled );
80 
81  unsigned entityHeightAboveTerrainMode() const;
82  void setEntityHeightAboveTerrainMode( unsigned mode );
83 
84  bool entitySimDataEnabled() const;
85  void setEntitySimDataEnabled( bool enabled );
86 
87  unsigned colorizedModelColorType() const;
88  void setColorizedModelColorType( unsigned type );
89 
90  float entityIconScale() const;
91  void setEntityIconScale( float scale );
92 
93  void setHideEmbarked2DObjects( bool b );
94  bool hideEmbarked2DObjects() const;
95 
96  bool entityOceanWakesEnabled() const;
97  void setEntityOceanWakesEnabled( bool enabled );
98 
99  bool entityHullSprayEffectsEnabled() const;
100  void setEntityHullSprayEffectsEnabled( bool enabled );
101 
102  bool entityBuoyancyModelsEnabled() const;
103  void setEntityBuoyancyModelsEnabled( bool enabled );
104 
105  float buoyancyDefaultLODDistance() const;
106  void setBuoyancyDefaultLODDistance( float distance );
107 
108  float wakeDefaultLODDistance() const;
109  void setWakeDefaultLODDistance( float distance );
110 
111  bool buoyAndBeaconIconsEnabled() const;
112  void setBuoyAndBeaconIconsEnabled( bool enabled );
113 
114  unsigned int heightAboveTerrainPeriod() const;
115  void setHeightAboveTerrainPeriod( unsigned int period );
116 
120  float buoyancyMinimumCullDistance() const;
121 
123  void setBuoyancyMinimumCullDistance( float distance );
124 
125  void setBuoyancyCullType( BuoyancyCullType cullType );
126  BuoyancyCullType buoyancyCullType() const;
127 
128  bool rotorWashEnabled() const;
129  void setRotorWashEnabled(bool enabled);
130 
133  bool occupantsVisible() const;
134  void setOccupantsVisible(bool enabled);
135 
137 
138  protected:
139 
140  friend class boost::serialization::access;
141 
145  template<class Archive>
146  void serialize(Archive & ar, const unsigned int version)
147  {
148  if ( version <= 6 )
149  {
150  //Deprecated
151  bool myTrailingEffectsEnabled;
152  bool myTrackHistoryEnabled;
153  bool myDecalEffectsEnabled;
154  ar & BOOST_SERIALIZATION_NVP(myTrailingEffectsEnabled);
155  ar & BOOST_SERIALIZATION_NVP(myTrackHistoryEnabled);
156  ar & BOOST_SERIALIZATION_NVP(myDecalEffectsEnabled);
157  }
158  ar & BOOST_SERIALIZATION_NVP(myGroundClampingEnabled);
159  ar & BOOST_SERIALIZATION_NVP(myGroundClampingRadiusScale);
160  ar & BOOST_SERIALIZATION_NVP(mySmoothingEnabled);
161  ar & BOOST_SERIALIZATION_NVP(mySmoothingPeriod);
162  ar & BOOST_SERIALIZATION_NVP(myOrientationClampingEnabled);
163  ar & BOOST_SERIALIZATION_NVP(myLifeformsUprightEnabled);
164 
165  if(version >= 1 && version != 7 )
166  {
167  ar & BOOST_SERIALIZATION_NVP(myShowEntityLabels);
168  }
169 
170  if (version >= 2)
171  {
172  ar & BOOST_SERIALIZATION_NVP(myShowStealthsEnabled);
173  }
174 
175  if (version >= 3)
176  {
177  ar & BOOST_SERIALIZATION_NVP(myInfoPopupsOnSelectEnabled);
178  }
179 
180  if (version >= 4 && version != 7 )
181  {
182  ar & BOOST_SERIALIZATION_NVP(myFireDetonateLinesEnabled);
183  }
184 
185  if (version >= 5)
186  {
187  if ( version != 7 )
188  {
189  ar & BOOST_SERIALIZATION_NVP(myEntityHeightAboveTerrainLinesEnabled);
190  }
191  ar & BOOST_SERIALIZATION_NVP(myEntityHeightAboveTerrainMode);
192  }
193 
194  if (version >=6)
195  {
196  ar& BOOST_SERIALIZATION_NVP(myEntitySimDataEnabled);
197  }
198 
199  if (version >= 9 )
200  {
201  ar & BOOST_SERIALIZATION_NVP(myColorizedModelColorType);
202  }
203 
204  if (version == 10 )
205  {
206  int myEntityIconScale = 1;
207  ar & BOOST_SERIALIZATION_NVP(myEntityIconScale);
208  myEntityIconScaleFactor =
209  pow(1.25, ((float)myEntityIconScale / 10.0) - 5);
210  }
211 
212  if (version >= 11 )
213  {
214  ar & BOOST_SERIALIZATION_NVP(myHideEmbarked2DObjects);
215  }
216 
217  if (version >= 12 )
218  {
219  ar & BOOST_SERIALIZATION_NVP(myEntityIconScaleFactor);
220  }
221  if ( version >= 13 )
222  {
223  ar & BOOST_SERIALIZATION_NVP(myEntitySensorVolumesEnabled);
224  }
225  if ( version >= 14 )
226  {
227  ar & BOOST_SERIALIZATION_NVP(myGroundClampingCullingEnabled);
228  }
229  else
230  {
231  myGroundClampingCullingEnabled = ( myGroundClampingRadiusScale < 100 );
232  }
233  if ( version >= 15 )
234  {
235  ar & BOOST_SERIALIZATION_NVP(myRotateEntitySymbols);
236  }
237  if ( version >= 16 )
238  {
239  ar & BOOST_SERIALIZATION_NVP(myOceanWakesEnabled);
240  ar & BOOST_SERIALIZATION_NVP(myHullSprayEffectsEnabled);
241  ar & BOOST_SERIALIZATION_NVP(myBuoyancyModelsEnabled);
242  }
243  if ( version >= 17 )
244  {
245  ar & BOOST_SERIALIZATION_NVP( myBuoyAndBeaconIconsEnabled );
246  }
247  if ( version >= 18 )
248  {
249  ar & BOOST_SERIALIZATION_NVP( myHeightAboveTerrainPeriod );
250  }
251  if ( version >= 19 )
252  {
253  ar & BOOST_SERIALIZATION_NVP( myBuoyancyDefaultLODDistance );
254  }
255  if ( version >= 20 )
256  {
257  ar & BOOST_SERIALIZATION_NVP( myBuoyancyMinimumCullDistance );
258  ar & BOOST_SERIALIZATION_NVP( myBuoyancyCullType );
259  }
260  if (version >= 21)
261  {
262  ar & BOOST_SERIALIZATION_NVP(myWakeDefaultLODDistance);
263  }
264  if (version >= 22)
265  {
266  ar & BOOST_SERIALIZATION_NVP(myRotorWashEnabled);
267  }
268  if (version >= 23)
269  {
270  ar & BOOST_SERIALIZATION_NVP(myOccupantsVisible);
271  }
272  }
273 
274  protected:
275 
290  bool myEntitySensorVolumesEnabled; // also referred to as 'EmitterVolumes'.
306  };
307 
308 }
309 
float myWakeDefaultLODDistance
Definition: DtEntitySettingsRecord.h:301
bool myBuoyancyModelsEnabled
Definition: DtEntitySettingsRecord.h:297
BuoyancyCullType myBuoyancyCullType
Definition: DtEntitySettingsRecord.h:303
bool myEntitySensorVolumesEnabled
Definition: DtEntitySettingsRecord.h:290
bool myOceanWakesEnabled
Definition: DtEntitySettingsRecord.h:295
bool myRotorWashEnabled
Definition: DtEntitySettingsRecord.h:304
bool myHullSprayEffectsEnabled
Definition: DtEntitySettingsRecord.h:296
float mySmoothingPeriod
Definition: DtEntitySettingsRecord.h:279
unsigned myColorizedModelColorType
Definition: DtEntitySettingsRecord.h:276
Contains DLL export macros.
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
bool myFireDetonateLinesEnabled
Definition: DtEntitySettingsRecord.h:289
float myBuoyancyMinimumCullDistance
Definition: DtEntitySettingsRecord.h:302
unsigned myEntityHeightAboveTerrainMode
Definition: DtEntitySettingsRecord.h:277
bool myShowStealthsEnabled
Definition: DtEntitySettingsRecord.h:287
bool myOrientationClampingEnabled
Definition: DtEntitySettingsRecord.h:283
bool myShowEntityLabels
Definition: DtEntitySettingsRecord.h:286
bool myRotateEntitySymbols
Definition: DtEntitySettingsRecord.h:294
bool myGroundClampingCullingEnabled
Definition: DtEntitySettingsRecord.h:282
unsigned int myHeightAboveTerrainPeriod
Definition: DtEntitySettingsRecord.h:299
BuoyancyCullType
Definition: DtEntitySettingsRecord.h:22
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
bool myInfoPopupsOnSelectEnabled
Definition: DtEntitySettingsRecord.h:288
bool myLifeformsUprightEnabled
Definition: DtEntitySettingsRecord.h:284
bool myOccupantsVisible
Definition: DtEntitySettingsRecord.h:305
bool myBuoyAndBeaconIconsEnabled
Definition: DtEntitySettingsRecord.h:298
float myGroundClampingRadiusScale
Definition: DtEntitySettingsRecord.h:278
const char int mode
Definition: ioapi.h:38
bool mySmoothingEnabled
Definition: DtEntitySettingsRecord.h:285
bool myHideEmbarked2DObjects
Definition: DtEntitySettingsRecord.h:293
bool myEntityHeightAboveTerrainLinesEnabled
Definition: DtEntitySettingsRecord.h:291
float myEntityIconScaleFactor
Definition: DtEntitySettingsRecord.h:280
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
bool myEntitySimDataEnabled
Definition: DtEntitySettingsRecord.h:292
Contains the entity display settings.
Definition: DtEntitySettingsRecord.h:19
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: DtEntitySettingsRecord.h:146
float myBuoyancyDefaultLODDistance
Definition: DtEntitySettingsRecord.h:300
bool myGroundClampingEnabled
Definition: DtEntitySettingsRecord.h:281

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)