VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSharedEntityDisplaySettings.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
15 
18 
20 
21 class DtEntityType;
22 
23 namespace makVrv
24 {
26 
29 
32  {
33  ShowHatForAll = 0,
35  };
36 
39  {
40  UsePrimaryColors = 0,
41  UseIconColors = 1
42  };
43 
47  : public DtSharedSettings
48  {
49 
50  public:
51 
54 
57 
58  bool groundClampingEnabled() const;
59  void setGroundClampingEnabled( bool enabled );
60 
61  float groundClampingRadiusScale() const;
62  void setGroundClampingRadiusScale( float scale );
63 
64  bool groundClampingCullingEnabled() const;
65  void setGroundClampingCullingEnabled( bool enabled );
66 
67  bool orientationClampingEnabled() const;
68  void setOrientationClampingEnabled( bool enabled );
69 
70  bool lifeformsUprightEnabled() const;
71  void setLifeformsUprightEnabled( bool enabled );
72 
73  bool smoothingEnabled() const;
74  void setSmoothingEnabled( bool enabled );
75 
76  float smoothingPeriod() const;
77  void setSmoothingPeriod( float period );
78 
79  bool artPartSmoothingEnabled() const;
80  void setArtPartSmoothingEnabled(bool setting);
81 
82  float artPartSmoothingPeriod() const;
83  void setArtPartSmoothingPeriod(float period);
84 
85  bool entityIndicatorEnabled() const;
86  void setEntityIndicatorEnabled( bool shown );
87 
88  bool embarkedEntityLabelsEnabled() const;
89  void setEmbarkedEntityLabelsEnabled( bool shown );
90 
91  bool rotateEntitySymbols() const;
92  void setRotateEntitySymbols( bool shown );
93 
94  bool showStealthsEnabled() const;
95  void setShowStealthsEnabled( bool enabled );
96 
97  bool fireDetonateLinesEnabled() const;
98  void setFireDetonateLinesEnabled( bool enabled );
99 
100  bool entityEmitterVolumesEnabled() const;
101  void setEntityEmitterVolumesEnabled( bool enabled );
102 
103  bool entityHeightAboveTerrainLinesEnabled() const;
104  void setEntityHeightAboveTerrainLinesEnabled( bool enabled );
105 
106  DtHeightAboveTerrainMode entityHeightAboveTerrainMode() const;
107  void setEntityHeightAboveTerrainMode( DtHeightAboveTerrainMode mode );
108 
109  DtColorizedModelColorType colorizedModelColorType() const;
110  void setColorizedModelColorType( DtColorizedModelColorType colorType );
111 
112  makArchives::DtAltitudeBasedScaleConfigurationRecordCollection& getOrCreateDynamicScaleCollection(const std::string& collectionName);
113  bool findDynamicScaleCollectionByName(const std::string& collectionName, makArchives::DtAltitudeBasedScaleConfigurationRecordCollection& collection) const;
114 
115  void setDynamicScaleCollectionMap(const makArchives::DtAltitudeBasedScaleConfigurationRecordCollectionMap& collectionMap);
116  const makArchives::DtAltitudeBasedScaleConfigurationRecordCollectionMap& dynamicScaleCollectionMap() const;
117 
118  bool fixedEntityIconScalingEnabled() const;
119  void setFixedEntityIconScalingEnabled( bool enabled );
120 
121  float entityIconScale() const;
122  void setEntityIconScale( float scale );
123 
124  bool hideEmbarked2DObjects() const;
125  void setHideEmbarked2DObjects( bool hide );
126 
127  bool entityOceanWakesEnabled() const;
128  void setEntityOceanWakesEnabled( bool enabled );
129 
130  bool entityHullSprayEffectsEnabled() const;
131  void setEntityHullSprayEffectsEnabled( bool enabled );
132 
133  bool entityBuoyancyModelsEnabled() const;
134  void setEntityBuoyancyModelsEnabled( bool enabled );
135 
136  float buoyancyDefaultLODDistance() const;
137  void setBuoyancyDefaultLODDistance( float distance );
138 
139  float wakeDefaultLODDistance() const;
140  void setWakeDefaultLODDistance( float distance );
141 
142  float buoyancyMinimumCullDistance() const;
143  void setBuoyancyMinimumCullDistance( float distance );
144 
146  void setBuoyancyCullType(makArchives::DtEntitySettingsRecord::BuoyancyCullType cullType );
147 
148  bool buoyAndBeaconIconsEnabled() const;
149  void setBuoyAndBeaconIconsEnabled( bool enabled );
150 
151  unsigned int heightAboveTerrainPeriod() const;
152  void setHeightAboveTerrainPeriod( unsigned int period );
153 
154  bool rotorWashEnabled() const;
155  void setRotorWashEnabled(bool enabled);
156 
157  bool occupantsVisible() const;
158  void setOccupantsVisible(bool visible);
159 
160  bool wheelRotationEnabled() const;
161  void setWheelRotationEnabled(bool setting);
162 
163  bool adaptiveTickRateEnabled() const;
164  void setAdaptiveTickRateEnabled(bool setting);
165 
167 
169  void setFromRecord( const makArchives::DtEntitySettingsRecord& rec );
170 
172  void getRecord( makArchives::DtEntitySettingsRecord& rec ) const;
173 
175  virtual const DtEntityStateSettingsBackup* settingsBackup() const;
176 
178  virtual DtEntityStateSettingsBackup* settingsBackup();
179 
181  virtual void backup();
182 
184  static const std::string& className();
185 
186  protected:
187 
192  friend class DtBaseSharedSettingsManager<makArchives::DtEntitySettingsRecord, DtSharedEntityDisplaySettings>;
193 
195  DtSharedEntityDisplaySettings( DtSharedSettingsManager& manager );
196 
201  bool applyFactoryOverrides(
202  makArchives::DtEntitySettingsRecord& rec) const;
203 
204  protected:
205 
206  bool myGroundClampingEnabled;
207  float myGroundClampingRadiusScale;
208  bool myGroundClampingCullingEnabled;
209  bool myOrientationClampingEnabled;
210  bool myLifeformsUprightEnabled;
211  bool mySmoothingEnabled;
212  float mySmoothingPeriod;
213  bool myArtPartSmoothingEnabled;
214  float myArtPartSmoothingPeriod;
215  bool myShowEntityLabels;
216  bool myShowEmbarkedEntityLabels;
217  bool myShowStealthsEnabled;
218  bool myFireDetonateLinesEnabled;
219  bool myEntityEmitterVolumesEnabled;
220  bool myEntityHeightAboveTerrainLinesEnabled;
221  DtHeightAboveTerrainMode myEntityHeightAboveTerrainMode;
222  DtColorizedModelColorType myColorizedModelColorType;
223 
225  bool myFixedEntityIconScalingEnabled;
226  float myEntityIconScaleFactor;
227 
228  bool myHideEmbarked2DObjects;
229  bool myRotateEntitySymbols;
230  bool myOceanWakesEnabled;
231  bool myHullSprayEffectsEnabled;
232  bool myBuoyancyModelsEnabled;
233  bool myBuoyAndBeaconIconsEnabled;
234  unsigned int myHeightAboveTerrainPeriod;
235  float myBuoyancyDefaultLODDistance;
236  float myWakeDefaultLODDistance;
237  float myBuoyancyMinimumCullDistance;
239  bool myRotorWashEnabled;
240  bool myOccupantsVisible;
241  bool myWheelRotationEnabled;
242  bool myAdaptiveTickRateEnabled;
243 
244  DtEntityStateSettingsBackup* myEntitySettingsBackup;
245  };
246 
247 }
Contains the DtAltitudeBasedScaleConfigurationRecord class declaration.
Base class for shared settings managers. Extends the functionality provided by the DtCommonBaseSettin...
Definition: DtBaseSettingsManager.h:364
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
The shared simulation settings.
Definition: DtSharedEntityDisplaySettings.h:46
DtColorizedModelColorType
Enumeration for the model coloring mode.
Definition: DtSharedEntityDisplaySettings.h:38
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
DtHeightAboveTerrainMode
Enumeration for the HAT mode.
Definition: DtSharedEntityDisplaySettings.h:31
BuoyancyCullType
Definition: DtEntitySettingsRecord.h:28
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtSharedSettings class declaration.
DtSharedRecordSettingsBackup< DtSharedEntityDisplaySettings, makArchives::DtEntitySettingsRecord > DtEntityStateSettingsBackup
Definition: DtSharedEntityDisplaySettings.h:25
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
std::map< std::string, DtAltitudeBasedScaleConfigurationRecordCollection > DtAltitudeBasedScaleConfigurationRecordCollectionMap
Definition: DtAltitudeBasedScaleConfigurationRecord.h:48
const char int mode
Definition: ioapi.h:38
std::vector< DtAltitudeBasedScaleConfigurationRecord > DtAltitudeBasedScaleConfigurationRecordCollection
Definition: DtAltitudeBasedScaleConfigurationRecord.h:45
Contains the entity display settings.
Definition: DtEntitySettingsRecord.h:25
Contains the DtEntitySettingsRecord class declaration.
The makVrv::DtSharedRecordSettingsBackup is a templaced class that settings records will use in order...
Definition: DtRecordSettingsBackup.h:223
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

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)