VR-Forces 4.10 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) 2021 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 
62  bool artPartSmoothingEnabled() const;
63  void setArtPartSmoothingEnabled(bool setting);
64 
65  float artPartSmoothingPeriod() const;
66  void setArtPartSmoothingPeriod(float period);
68 
69  bool showEntityLabels() const;
70  void setShowEntityLabels( bool show );
71 
72  bool rotateEntitySymbols() const;
73  void setRotateEntitySymbols( bool show );
74 
75  bool showStealthsEnabled() const;
76  void setShowStealthsEnabled( bool enabled );
77 
78  bool infoPopupsOnSelectEnabled() const;
79  void setInfoPopupsOnSelectEnabled( bool enabled );
80 
81  bool fireDetonateLinesEnabled() const;
82  void setFireDetonateLinesEnabled( bool enabled );
83 
84  bool entityEmitterVolumesEnabled() const;
85  void setEntityEmitterVolumesEnabled( bool enabled );
86 
87  bool entityHeightAboveTerrainLinesEnabled() const;
88  void setEntityHeightAboveTerrainLinesEnabled( bool enabled );
89 
90  unsigned entityHeightAboveTerrainMode() const;
91  void setEntityHeightAboveTerrainMode( unsigned mode );
92 
93  bool entitySimDataEnabled() const;
94  void setEntitySimDataEnabled( bool enabled );
95 
96  unsigned colorizedModelColorType() const;
97  void setColorizedModelColorType( unsigned type );
98 
99  float entityIconScale() const;
100  void setEntityIconScale( float scale );
101 
102  void setHideEmbarked2DObjects( bool b );
103  bool hideEmbarked2DObjects() const;
104 
105  bool entityOceanWakesEnabled() const;
106  void setEntityOceanWakesEnabled( bool enabled );
107 
108  bool entityHullSprayEffectsEnabled() const;
109  void setEntityHullSprayEffectsEnabled( bool enabled );
110 
111  bool entityBuoyancyModelsEnabled() const;
112  void setEntityBuoyancyModelsEnabled( bool enabled );
113 
114  float buoyancyDefaultLODDistance() const;
115  void setBuoyancyDefaultLODDistance( float distance );
116 
117  float wakeDefaultLODDistance() const;
118  void setWakeDefaultLODDistance( float distance );
119 
120  bool buoyAndBeaconIconsEnabled() const;
121  void setBuoyAndBeaconIconsEnabled( bool enabled );
122 
123  unsigned int heightAboveTerrainPeriod() const;
124  void setHeightAboveTerrainPeriod( unsigned int period );
125 
129  float buoyancyMinimumCullDistance() const;
130 
132  void setBuoyancyMinimumCullDistance( float distance );
133 
134  void setBuoyancyCullType( BuoyancyCullType cullType );
135  BuoyancyCullType buoyancyCullType() const;
136 
137  bool rotorWashEnabled() const;
138  void setRotorWashEnabled(bool enabled);
139 
142  bool occupantsVisible() const;
143  void setOccupantsVisible(bool enabled);
144 
146  bool wheelRotationEnabled() const;
147  void setWheelRotationEnabled(bool setting);
149 
151  bool adaptiveTickRateEnabled() const;
152  void setAdaptiveTickRateEnabled(bool setting);
154 
156 
157  protected:
158 
159  friend class boost::serialization::access;
160 
164  template<class Archive>
165  void serialize(Archive & ar, const unsigned int version)
166  {
167  if ( version <= 6 )
168  {
169  //Deprecated
170  bool myTrailingEffectsEnabled;
171  bool myTrackHistoryEnabled;
172  bool myDecalEffectsEnabled;
173  ar & BOOST_SERIALIZATION_NVP(myTrailingEffectsEnabled);
174  ar & BOOST_SERIALIZATION_NVP(myTrackHistoryEnabled);
175  ar & BOOST_SERIALIZATION_NVP(myDecalEffectsEnabled);
176  }
177  ar & BOOST_SERIALIZATION_NVP(myGroundClampingEnabled);
178  ar & BOOST_SERIALIZATION_NVP(myGroundClampingRadiusScale);
179  ar & BOOST_SERIALIZATION_NVP(mySmoothingEnabled);
180  ar & BOOST_SERIALIZATION_NVP(mySmoothingPeriod);
181  if (version >= 24)
182  {
183  ar & BOOST_SERIALIZATION_NVP(myArtPartSmoothingEnabled);
184  ar & BOOST_SERIALIZATION_NVP(myArtPartSmoothingPeriod);
185  }
186  ar & BOOST_SERIALIZATION_NVP(myOrientationClampingEnabled);
187  ar & BOOST_SERIALIZATION_NVP(myLifeformsUprightEnabled);
188 
189  if(version >= 1 && version != 7 )
190  {
191  ar & BOOST_SERIALIZATION_NVP(myShowEntityLabels);
192  }
193 
194  if (version >= 2)
195  {
196  ar & BOOST_SERIALIZATION_NVP(myShowStealthsEnabled);
197  }
198 
199  if (version >= 3)
200  {
201  ar & BOOST_SERIALIZATION_NVP(myInfoPopupsOnSelectEnabled);
202  }
203 
204  if (version >= 4 && version != 7 )
205  {
206  ar & BOOST_SERIALIZATION_NVP(myFireDetonateLinesEnabled);
207  }
208 
209  if (version >= 5)
210  {
211  if ( version != 7 )
212  {
213  ar & BOOST_SERIALIZATION_NVP(myEntityHeightAboveTerrainLinesEnabled);
214  }
215  ar & BOOST_SERIALIZATION_NVP(myEntityHeightAboveTerrainMode);
216  }
217 
218  if (version >=6)
219  {
220  ar& BOOST_SERIALIZATION_NVP(myEntitySimDataEnabled);
221  }
222 
223  if (version >= 9 )
224  {
225  ar & BOOST_SERIALIZATION_NVP(myColorizedModelColorType);
226  }
227 
228  if (version == 10 )
229  {
230  int myEntityIconScale = 1;
231  ar & BOOST_SERIALIZATION_NVP(myEntityIconScale);
232  myEntityIconScaleFactor =
233  pow(1.25, ((float)myEntityIconScale / 10.0) - 5);
234  }
235 
236  if (version >= 11 )
237  {
238  ar & BOOST_SERIALIZATION_NVP(myHideEmbarked2DObjects);
239  }
240 
241  if (version >= 12 )
242  {
243  ar & BOOST_SERIALIZATION_NVP(myEntityIconScaleFactor);
244  }
245  if ( version >= 13 )
246  {
247  ar & BOOST_SERIALIZATION_NVP(myEntitySensorVolumesEnabled);
248  }
249  if ( version >= 14 )
250  {
251  ar & BOOST_SERIALIZATION_NVP(myGroundClampingCullingEnabled);
252  }
253  else
254  {
255  myGroundClampingCullingEnabled = ( myGroundClampingRadiusScale < 100 );
256  }
257  if ( version >= 15 )
258  {
259  ar & BOOST_SERIALIZATION_NVP(myRotateEntitySymbols);
260  }
261  if ( version >= 16 )
262  {
263  ar & BOOST_SERIALIZATION_NVP(myOceanWakesEnabled);
264  ar & BOOST_SERIALIZATION_NVP(myHullSprayEffectsEnabled);
265  ar & BOOST_SERIALIZATION_NVP(myBuoyancyModelsEnabled);
266  }
267  if ( version >= 17 )
268  {
269  ar & BOOST_SERIALIZATION_NVP( myBuoyAndBeaconIconsEnabled );
270  }
271  if ( version >= 18 )
272  {
273  ar & BOOST_SERIALIZATION_NVP( myHeightAboveTerrainPeriod );
274  }
275  if ( version >= 19 )
276  {
277  ar & BOOST_SERIALIZATION_NVP( myBuoyancyDefaultLODDistance );
278  }
279  if ( version >= 20 )
280  {
281  ar & BOOST_SERIALIZATION_NVP( myBuoyancyMinimumCullDistance );
282  ar & BOOST_SERIALIZATION_NVP( myBuoyancyCullType );
283  }
284  if (version >= 21)
285  {
286  ar & BOOST_SERIALIZATION_NVP(myWakeDefaultLODDistance);
287  }
288  if (version >= 22)
289  {
290  ar & BOOST_SERIALIZATION_NVP(myRotorWashEnabled);
291  }
292  if (version >= 23)
293  {
294  ar & BOOST_SERIALIZATION_NVP(myOccupantsVisible);
295  }
296  if (version >= 24)
297  {
298  ar & BOOST_SERIALIZATION_NVP(myWheelRotationEnabled);
299  }
300  if (version >= 25)
301  {
302  ar& BOOST_SERIALIZATION_NVP(myAdaptiveTickRateEnabled);
303  }
304  }
305 
306  protected:
307 
324  bool myEntitySensorVolumesEnabled; // also referred to as 'EmitterVolumes'.
342  };
343 
344 }
345 
float myWakeDefaultLODDistance
Definition: DtEntitySettingsRecord.h:335
bool myBuoyancyModelsEnabled
Definition: DtEntitySettingsRecord.h:331
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
BuoyancyCullType myBuoyancyCullType
Definition: DtEntitySettingsRecord.h:337
bool myArtPartSmoothingEnabled
Definition: DtEntitySettingsRecord.h:313
bool myEntitySensorVolumesEnabled
Definition: DtEntitySettingsRecord.h:324
bool myOceanWakesEnabled
Definition: DtEntitySettingsRecord.h:329
bool myRotorWashEnabled
Definition: DtEntitySettingsRecord.h:338
bool myHullSprayEffectsEnabled
Definition: DtEntitySettingsRecord.h:330
float mySmoothingPeriod
Definition: DtEntitySettingsRecord.h:312
unsigned myColorizedModelColorType
Definition: DtEntitySettingsRecord.h:308
Contains DLL export macros.
bool myFireDetonateLinesEnabled
Definition: DtEntitySettingsRecord.h:323
float myBuoyancyMinimumCullDistance
Definition: DtEntitySettingsRecord.h:336
unsigned myEntityHeightAboveTerrainMode
Definition: DtEntitySettingsRecord.h:309
bool myShowStealthsEnabled
Definition: DtEntitySettingsRecord.h:321
bool myOrientationClampingEnabled
Definition: DtEntitySettingsRecord.h:318
bool myShowEntityLabels
Definition: DtEntitySettingsRecord.h:320
bool myRotateEntitySymbols
Definition: DtEntitySettingsRecord.h:328
bool myGroundClampingCullingEnabled
Definition: DtEntitySettingsRecord.h:317
unsigned int myHeightAboveTerrainPeriod
Definition: DtEntitySettingsRecord.h:333
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:322
bool myLifeformsUprightEnabled
Definition: DtEntitySettingsRecord.h:319
bool myOccupantsVisible
Definition: DtEntitySettingsRecord.h:339
float myArtPartSmoothingPeriod
Definition: DtEntitySettingsRecord.h:314
bool myBuoyAndBeaconIconsEnabled
Definition: DtEntitySettingsRecord.h:332
float myGroundClampingRadiusScale
Definition: DtEntitySettingsRecord.h:310
const char int mode
Definition: ioapi.h:38
bool mySmoothingEnabled
Definition: DtEntitySettingsRecord.h:311
bool myHideEmbarked2DObjects
Definition: DtEntitySettingsRecord.h:327
bool myEntityHeightAboveTerrainLinesEnabled
Definition: DtEntitySettingsRecord.h:325
float myEntityIconScaleFactor
Definition: DtEntitySettingsRecord.h:315
#define DT_DLL_MAKARCHIVES
Definition: makArchives.h:31
bool myEntitySimDataEnabled
Definition: DtEntitySettingsRecord.h:326
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:165
bool myAdaptiveTickRateEnabled
Definition: DtEntitySettingsRecord.h:341
bool myWheelRotationEnabled
Definition: DtEntitySettingsRecord.h:340
float myBuoyancyDefaultLODDistance
Definition: DtEntitySettingsRecord.h:334
bool myGroundClampingEnabled
Definition: DtEntitySettingsRecord.h:316

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)