VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSimulationSettingsManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
11 #include <vrfGuiCore/vrfGuiCore.h>
14 #include <vlutil/vlFilename.h>
15 
16 #include <vrvCore/DtStateView.h>
17 #include <vrvCore/DtEntityState.h>
18 
19 
20 #include <boost/unordered_map.hpp>
21 
22 class DtUUID;
23 
24 namespace makVrv
25 {
26  class DtRecordSettingsBackupInterface;
27  class DtDe;
28 }
29 
30 namespace makVrf
31 {
34  {
35  public:
38 
40  static DtVrfSimulationSettingsManager& instance(makVrv::DtDe& de);
41  static void registerInstance(makVrv::DtDe& de, DtVrfSimulationSettingsManager*);
42 
45  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
46  virtual std::string defaultScenarioFile() const;
47 
49  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
50  virtual std::string simulationObjectGroupTerrain() const;
51 
54  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false, bool signalChange = true);
55  virtual std::string defaultSimulationModelSetFile() const;
56  virtual void setFromRecord(const DtVrfSimulationSettingsRecord& rec);
57  virtual void loadDefaultSimulationSettings(bool loadOnlyFactorySettings = false);
58  virtual void getRecord(DtVrfSimulationSettingsRecord& rec) const;
59 
62  virtual void getSplitRecord(std::vector<DtVrfSimulationSettingsRecord>& rec,
63  std::vector<std::string>& fileNames) {};
64 
68  DtVrfSimulationSettingsRecord& combinedRec) {};
69 
71  virtual void setAutoSave(bool);
72  virtual bool autoSave() const;
73 
75  virtual void setCheckForUnusedTriggersOnPlanSave(bool);
76  virtual bool checkForUnusedTriggersOnPlanSave() const;
77 
79  virtual void setDefaultScenarioStartTime(time_t);
80  virtual time_t defaultScenarioStartTime() const;
81 
83  virtual void setDefaultEnvironmentCondition(const std::string& defaultCondition, bool save = true);
84  virtual std::string defaultEnvironmentCondition() const;
85 
87  virtual void setEnablePeriodicCheckpointing(bool);
88  virtual bool enablePeriodicCheckpointing() const;
89 
92  virtual void setPeriodicCheckpointingFrequency(int);
93  virtual int periodicCheckpointingFrequency() const;
94 
96  virtual void setPeriodicCheckpointingDirectory(const std::string&);
97  virtual const std::string& periodicCheckpointingDirectory() const;
98  const DtFilename& periodicCheckpointingDirectoryResolved() const { return myPeriodicCheckpointDirectory; };
99 
101  {
102  return mySimulationSettingsBackup;
103  }
104 
106  void exportSimulationSettings(const std::string& fileName);
107 
109  void importSimulationSettings(const std::string& fileName);
110 
112  virtual void setStartupTerrain(const std::string&);
113  virtual const std::string& startupTerrain() const;
114 
116  virtual void setStartupScenario(const std::string&);
117  virtual const std::string& startupScenario() const;
118 
120  virtual void setStartupSimulationModelSet(const std::string&);
121  virtual const std::string& startupSimulationModelSet() const;
122 
123  virtual void setAllowOrbatDeletionChoice(bool);
124  virtual bool allowOrbatDeletionChoice() const;
125 
127  virtual void saveSettingsAsDefault();
128 
130  virtual void setSimulationModelSetConfigurations(const std::vector<DtVrfSimulationSettingsRecord::SimulationModelSetConfiguration>&);
131  virtual const std::vector<DtVrfSimulationSettingsRecord::SimulationModelSetConfiguration>& simulationModelSetConfigurations() const;
132 
134  virtual void addSimulationModelSetConfiguration(const DtVrfSimulationSettingsRecord::SimulationModelSetConfiguration&,
135  bool autoSaveIfEnabled = true);
136 
138  virtual void removeSimulationModelSetConfiguration(const std::string&);
139 
141  virtual void setAutomaticallyStartMissingBackends(bool);
142  virtual bool automaticallyStartMissingBackends() const;
143 
144  public:
146  boost::signals2::signal<void (const DtVrfSimulationSettingsRecord&)> signal_simulationSettingsChanged;
147 
148  protected:
152 
154  };
155 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: vrfSimulationSettingsRecord.h:26
virtual void getSplitRecord(std::vector< DtVrfSimulationSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSimulationSettingsManager.h:62
Contains makVrv::DtStateView class.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtFilename myPeriodicCheckpointDirectory
Definition: vrfSimulationSettingsManager.h:153
Contains makVrv::DtVirtualBaseClass class.
boost::signals2::signal< void(const DtVrfSimulationSettingsRecord &)> signal_simulationSettingsChanged
Sent when session settings have changed.
Definition: vrfSimulationSettingsManager.h:146
DtVrfSimulationSettingsRecord mySimulationSettings
Definition: vrfSimulationSettingsManager.h:150
makVrv::DtDe & myDe
Definition: vrfSimulationSettingsManager.h:149
Contains makVrv::DtVrlinkSimulatedEntityState class.
virtual void addRecords(DtVrfSimulationSettingsRecord &recs, DtVrfSimulationSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSimulationSettingsManager.h:67
const DtFilename & periodicCheckpointingDirectoryResolved() const
Definition: vrfSimulationSettingsManager.h:98
makVrv::DtRecordSettingsBackupInterface * mySimulationSettingsBackup
Definition: vrfSimulationSettingsManager.h:151
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
makVrv::DtRecordSettingsBackupInterface * simulationSettingsBackup()
Definition: vrfSimulationSettingsManager.h:100
The class that will contain information about various scenario settings.
Definition: vrfSimulationSettingsManager.h:33

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)