VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSharedCigiSettings.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 
12 #include <vrvCigi/vrvCigi.h>
15 
17 
18 #include <string>
19 #include <map>
20 
21 namespace makVrv
22 {
23  class DtCigiSettingsBackup;
24 
33  {
34  public:
35  typedef std::pair<makArchives::DtCigiSettingsRecord*, DtCigiSettingsBackup*> DtCigiSettingsPair;
36  typedef std::map<std::string, DtCigiSettingsPair> StringToSettingsMap;
37 
43 
47  static std::string className();
48 
50  virtual ~DtSharedCigiSettings();
51 
53  virtual void addCigiSettings( const std::string& settingsName );
54 
57  virtual void setCigiSettings( const std::string& settingsName,
58  const makArchives::DtCigiSettingsRecord& record );
59 
61  virtual void removeCigiSettings( const std::string& settingsName );
62 
64  virtual void setCurrentSettingsName( const std::string& settingsName );
65 
67  virtual const makArchives::DtCigiSettingsRecord* currentSettings() const;
68 
70  virtual const std::string& currentSettingsName() const;
71 
74  virtual makArchives::DtCigiSettingsRecord* findCigiSettingsByName(
75  const std::string& settingsName );
76 
78  virtual const makArchives::DtCigiSettingsRecord* findCigiSettingsByName(
79  const std::string& settingsName ) const;
80 
82  virtual bool definitionInUse( const std::string& def ) const;
83 
87  virtual const std::string& mapEntityModelDefinition( int entType ) const;
88 
92  virtual const std::string& mapEntityModelSchemaName( int entType ) const;
93 
95  virtual StringToSettingsMap::const_iterator begin() const;
96  virtual StringToSettingsMap::const_iterator end() const;
97 
99  virtual unsigned int settingsCount() const;
100 
103  virtual const std::string& findDatabaseFilename( int databaseNumber );
104 
107  virtual const std::string& findAnimationName( int animationId );
108 
111  virtual const std::string& findActiveRegionName( int regionId );
112 
115  virtual const std::string& findLightPointGroupName( int groupId );
116 
119  virtual const std::string& findSensorName( int sensorId );
120 
123  virtual const std::string& findFontName( int fontId );
124 
127  virtual const std::string& findEnvironmentalConditionName( int envId );
128 
131  virtual const std::vector<std::string>& componentStrings(
132  makArchives::DtCigiComponentClass compClass ) const;
133 
135  virtual const DtSettingsBackup* settingsBackup( const std::string& name ) const;
136  virtual DtSettingsBackup* settingsBackup( const std::string& name );
137 
138  public:
140  virtual void addModelStateMapping( int cigiId, int stateId );
141 
143  virtual void removeModelStateMapping( int cigiId );
144 
146  virtual void setArtPartMapping( int entType, int cigiId, int disId );
147 
149  virtual void removeArtPartMapping( int entType, int cigiId );
150 
152  virtual void addDatabaseMapping( int databaseNumber, const std::string& filename );
153 
155  virtual void removeDatabaseMapping( int databaseNumber );
156 
158  virtual void addObserverModeMapping( int observerNumber, const std::string& filename );
159 
161  virtual void removeObserverModeMapping( int observerNumber );
162 
164  virtual void addComponentIdMapping( makArchives::DtCigiComponentClass compClass,
165  int compId, const std::string& compName );
166 
169  virtual void removeComponentIdMapping( makArchives::DtCigiComponentClass compClass,
170  int compId );
171 
173  virtual void addAnimationMapping( int animationId, const std::string& animationName );
174 
176  virtual void removeAnimationMapping( int animationId );
177 
179  virtual void addActiveRegionMapping( int regionId, const std::string& regionName );
180 
182  virtual void removeActiveRegionMapping( int regionId );
183 
185  virtual void addLightPointGroupMapping( int groupId, const std::string& groupName );
186 
188  virtual void removeLightPointGroupMapping( int groupId );
189 
191  virtual void addSensorMapping( int sensorId, const std::string& sensorName );
192 
194  virtual void removeSensorMapping( int sensorId );
195 
197  virtual void addFontMapping( int fontId, const std::string& fontName );
198 
200  virtual void removeFontMapping( int fontId );
201 
203  virtual void addEnvironmentalConditionMapping( int envId, const std::string& envName );
204 
206  virtual void removeEnvironmentalConditionMapping( int envId );
207  public:
208 
210  virtual void setEntityTypeModelMapping( int entType,
211  const std::string& modelName, const std::string& schemaName );
212 
214  virtual void removeEntityTypeModelMapping( int entType );
215 
217  virtual bool remapEntityType( int oldType, int newType );
218 
221  virtual bool renameModelDefinition( const std::string& oldName, const std::string& newName, std::vector<std::string>& mappersChanged );
222 
223  protected:
224 
227 
228  protected:
230  std::string myEmptyMapping;
231 
235  std::vector<std::string> myEntityComponentStrings;
236  std::vector<std::string> myViewComponentStrings;
237  std::vector<std::string> mySystemComponentStrings;
238  std::vector<std::string> myRegionalSeaSurfaceComponentStrings;
239  std::vector<std::string> myGlobalTerrainSurfaceComponent;
240  std::vector<std::string> mySensorComponentStrings;
241  std::vector<std::string> myAtmosphereComponentStrings;
242  };
243 
247  {
248  public:
249  DtCigiSettingsBackup(makArchives::DtCigiSettingsRecord*, const std::string& name);
250 
251  virtual ~DtCigiSettingsBackup();
252 
254  {
255  return myRestoredCigiSettings;
256  }
257 
259  {
260  return myCigiSettings;
261  }
262 
264  {
265  myCigiSettings = r;
266  }
267 
268  protected:
271  virtual void restore(const DtSettingsBackup* from);
272 
275  virtual std::string backupClassType() const;
276 
279  virtual DtSettingsBackup* create() const;
280 
283  virtual void write(boost::archive::xml_oarchive& ar);
284 
287  virtual void read(boost::archive::xml_iarchive& ar);
288 
290  virtual std::string backupName() const;
291 
292  protected:
295  std::string myName;
296  };
297 }
std::vector< std::string > myGlobalTerrainSurfaceComponent
Definition: DtSharedCigiSettings.h:239
std::vector< std::string > myViewComponentStrings
Definition: DtSharedCigiSettings.h:236
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
std::vector< std::string > myAtmosphereComponentStrings
Definition: DtSharedCigiSettings.h:241
std::vector< std::string > myEntityComponentStrings
Definition: DtSharedCigiSettings.h:235
std::string myCurrentSettingsName
Definition: DtSharedCigiSettings.h:233
std::map< std::string, DtCigiSettingsPair > StringToSettingsMap
Definition: DtSharedCigiSettings.h:36
Backup class for CIGI Settings.
Definition: DtSharedCigiSettings.h:246
makArchives::DtCigiSettingsRecord * myCurrentSettings
Definition: DtSharedCigiSettings.h:234
makArchives::DtCigiSettingsRecord * myCigiSettings
Definition: DtSharedCigiSettings.h:293
const makArchives::DtCigiSettingsRecord * cigiSettings() const
Definition: DtSharedCigiSettings.h:258
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
Contains DLL export macros.
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
The shared CIGI settings. This class contains all of the settings, and each has a name...
Definition: DtSharedCigiSettings.h:32
Contains the DtSharedSettings class declaration.
std::string myName
Definition: DtSharedCigiSettings.h:295
DtCigiComponentClass
Definition: DtCigiSettingsRecord.h:15
const makArchives::DtCigiSettingsRecord & restoredCigiSettings() const
Definition: DtSharedCigiSettings.h:253
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
std::vector< std::string > myRegionalSeaSurfaceComponentStrings
Definition: DtSharedCigiSettings.h:238
std::string myEmptyMapping
Empty string, for returning the reference which will always be empty.
Definition: DtSharedCigiSettings.h:230
StringToSettingsMap mySettingsByName
Definition: DtSharedCigiSettings.h:232
std::vector< std::string > mySensorComponentStrings
Definition: DtSharedCigiSettings.h:240
std::pair< makArchives::DtCigiSettingsRecord *, DtCigiSettingsBackup * > DtCigiSettingsPair
Definition: DtSharedCigiSettings.h:35
makArchives::DtCigiSettingsRecord myRestoredCigiSettings
Definition: DtSharedCigiSettings.h:294
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
Record of miscellaneous CIGI settings.
Definition: DtCigiSettingsRecord.h:28
void setCigiSettings(makArchives::DtCigiSettingsRecord *r)
Definition: DtSharedCigiSettings.h:263
The makVrv::DtSettingsBackup is a lightweight class that must be subclassed from if an object wants t...
std::vector< std::string > mySystemComponentStrings
Definition: DtSharedCigiSettings.h:237

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)