VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSymbolDecorationSettings.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 
14 
17 
19 
20 #include <string>
21 #include <unordered_map>
22 
23 namespace makVrv
24 {
25 
26  class DtDe;
28 
33 
37  {
38  public:
39 
43  using TypeToDecorationMap = std::unordered_map<std::string, DecorationSet>;
45 
47  const static std::string theDefaultEntityDecorationSetName;
48  const static std::string theDefaultSurfaceEntityDecorationSetName;
50  const static std::string theDefaultGroundEntityDecorationSetName;
51  const static std::string theDefaultAirEntityDecorationSetName;
53  const static std::string theDefaultPropDecorationSetName;
55 
56  public:
57 
59  virtual ~DtSymbolDecorationSettings();
60 
63 
68  void setAllPossibleSymbolDecorationsByName(const std::list<std::string>& allPossibleSymbolDecorations);
69 
71  DecorationSet getOrCreateDecorationSet( const std::string& setId ) const;
72 
74  void setDecorationSet( const std::string& setId, DecorationSet& decorationSet );
75 
77  void enableDecoration( DtModelSetId modelSet, const std::string& type, const std::string& decorationCreator );
78 
80  void disableDecoration( DtModelSetId modelSet, const std::string& type, const std::string& decorationCreator );
81 
83  bool decorationEnabled( DtModelSetId modelSet, const std::string& type, const std::string& decorationCreator ) const;
84 
86  const DecorationSet& decorationSettings(DtModelSetId modelSet, const std::string& type ) const;
87 
89  DecorationSet enabledDecorationsInSet( DtModelSetId modelSet, const std::string& type, const std::string& setId ) const;
90 
93  bool decorationEnabledForSet( DtModelSetId modelSet, const std::string& type, const std::string& setId, const std::string& decorationCreator ) const;
94 
96  void setForegroundColor( float r, float g, float b );
98  void foregroundColor( float& r, float& g, float& b ) const;
99 
101  void setBackgroundColor( float r, float g, float b );
103  void backgroundColor( float& r, float& g, float& b ) const;
104 
106  void setBackgroundOpacity( float opacity );
108  float backgroundOpacity() const;
109 
111  void setLodOutAltitude(double altitude);
113  double lodOutAltitude() const;
114 
116  void setShadowText( bool enabled );
118  bool shadowText() const;
119 
122  void setColorByForce(bool enabled);
123 
126  bool colorByForce() const;
127 
131  const DecorationSet& enabledMouseOverDecorations(DtModelSetId modelSet, const std::string& type ) const;
132 
134  void enableMouseOverDecoration( DtModelSetId modelSet, const std::string& type, const std::string& decorationCreator );
135 
137  void disableMouseOverDecoration( DtModelSetId modelSet, const std::string& type, const std::string& decorationCreator );
138 
140  bool mouseOverDecorationEnabled( DtModelSetId modelSet, const std::string& type, const std::string& decorationCreator ) const;
142 
144 
147 
149  void setFromRecord( const makArchives::DtSymbolDecorationSettingsRecord& rec );
150 
152  void getRecord(
154 
156  const DtSymbolDecorationSettingsBackup* settingsBackup() const;
157 
159  DtSymbolDecorationSettingsBackup* settingsBackup();
160 
162  virtual void backup();
163 
165 
167  static const std::string& className();
168 
169  protected:
170 
175  friend class DtBaseSharedSettingsManager<makArchives::DtSymbolDecorationSettingsRecord, DtSymbolDecorationSettings>;
177 
179  DtSymbolDecorationSettings(DtSharedSettingsManager& manager);
180 
185  bool applyFactoryOverrides(
186  makArchives::DtSymbolDecorationSettingsRecord& rec) const;
187 
188  protected:
189  ModelSetAndTypeSymbolDecorationMap myModelSetAndTypeSymbolDecorationMap;
190  ModelSetAndTypeSymbolDecorationMap myModelSetAndTypeMouseOverSymbolDecorationMap;
191 
192  std::list<std::string> myPossibleSymbolDecorations;
193 
194  NamedDecorationSetMap myNamedDecorationSettings;
195 
196  float myForegroundColorR;
197  float myForegroundColorG;
198  float myForegroundColorB;
199 
200  float myBackgroundColorR;
201  float myBackgroundColorG;
202  float myBackgroundColorB;
203  float myBackgroundColorA;
204 
205  double myLodOutAltitude;
206 
207  bool myColorByForce;
208  bool myShadowTextFlag;
209 
211 
212  };
213 
214 }
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
static const std::string theDefaultMunitionEntityDecorationSetName
Definition: DtSymbolDecorationSettings.h:52
static const std::string theDefaultSurfaceEntityDecorationSetName
Definition: DtSymbolDecorationSettings.h:48
static const std::string theDefaultPropDecorationSetName
Definition: DtSymbolDecorationSettings.h:53
std::unordered_map< std::string, DecorationSet > NamedDecorationSetMap
Definition: DtSymbolDecorationSettingsRecord.h:34
std::unordered_map< std::string, DecorationSet > TypeToDecorationMap
Definition: DtSymbolDecorationSettings.h:43
makArchives::DtSymbolDecorationSettingsRecord::DecorationSet DecorationSet
a decoration set is a set of creator names for the enabled decorations
Definition: DtSymbolDecorationSettings.h:41
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
std::unordered_map< int, TypeToDecorationMap > ModelSetAndTypeSymbolDecorationMap
Definition: DtSymbolDecorationSettingsRecord.h:39
static const std::string theDefaultAirEntityDecorationSetName
Definition: DtSymbolDecorationSettings.h:51
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
A DtSymbolDecorationSettingsRecord stores which symbol decorations are enabled/disabled.
Definition: DtSymbolDecorationSettingsRecord.h:30
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtSharedSettings class declaration.
static const std::string theDefaultSubsurfaceEntityDecorationSetName
Definition: DtSymbolDecorationSettings.h:49
static const std::string theDefaultTacticalGraphicDecorationSetName
Definition: DtSymbolDecorationSettings.h:54
The shared simulation settings.
Definition: DtSymbolDecorationSettings.h:36
static const std::string theDefaultGroundEntityDecorationSetName
Definition: DtSymbolDecorationSettings.h:50
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
Contains the DtSymbolDecorationSettingsRecord class declaration.
DtSharedRecordSettingsBackup< DtSymbolDecorationSettings, makArchives::DtSymbolDecorationSettingsRecord > DtSymbolDecorationSettingsBackup
Settings backup for symbol decoration settings.
Definition: DtSymbolDecorationSettings.h:27
std::set< std::string > DecorationSet
Definition: DtSymbolDecorationSettingsRecord.h:33
makArchives::DtSymbolDecorationSettingsRecord::NamedDecorationSetMap NamedDecorationSetMap
Definition: DtSymbolDecorationSettings.h:42
static const std::string theDefaultEntityDecorationSetName
The names used for VR-Vantage&#39;s default symbol decoration sets.
Definition: DtSymbolDecorationSettings.h:47
DtModelSetId
Definition: DtModelSetEnums.h:19
The makVrv::DtSharedRecordSettingsBackup is a templaced class that settings records will use in order...
Definition: DtRecordSettingsBackup.h:223
Contains various enum classes relating to model sets.
makArchives::DtSymbolDecorationSettingsRecord::ModelSetAndTypeSymbolDecorationMap ModelSetAndTypeSymbolDecorationMap
Definition: DtSymbolDecorationSettings.h:44
Contains the DtBaseSettingsManager class declaration.

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)