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 #include <boost/unordered_map.hpp>
16 #include <boost/signals2.hpp>
17 
18 class DtUUID;
19 
20 namespace makVrv
21 {
22  class DtRecordSettingsBackupInterface;
23  class DtDe;
24 }
25 
26 namespace makVrf
27 {
30  {
31  public:
33  virtual ~DtVrfSimulationSettingsManager() override;
34 
36  static DtVrfSimulationSettingsManager& instance(makVrv::DtDe& de);
37  static void registerInstance(makVrv::DtDe& de, DtVrfSimulationSettingsManager*);
38 
41  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
42  virtual std::string defaultScenarioFile() const;
43 
45  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
46  virtual std::string simulationObjectGroupTerrain() const;
47 
50  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false, bool signalChange = true);
51  virtual std::string defaultSimulationModelSetFile() const;
52  virtual void setFromRecord(const DtVrfSimulationSettingsRecord& rec);
53  virtual void loadDefaultSimulationSettings(bool loadOnlyFactorySettings = false);
54  virtual void getRecord(DtVrfSimulationSettingsRecord& rec) const;
55 
58  virtual void getSplitRecord(std::vector<DtVrfSimulationSettingsRecord>& rec,
59  std::vector<std::string>& fileNames) {};
60 
64  DtVrfSimulationSettingsRecord& combinedRec) {};
65 
67  virtual void setAutoSave(bool);
68  virtual bool autoSave() const;
69 
71  virtual void setCheckForUnusedTriggersOnPlanSave(bool);
72  virtual bool checkForUnusedTriggersOnPlanSave() const;
73 
75  virtual void setDefaultScenarioStartTime(time_t);
76  virtual time_t defaultScenarioStartTime() const;
77 
79  virtual void setDefaultEnvironmentCondition(const std::string& defaultCondition, bool save = true);
80  virtual std::string defaultEnvironmentCondition() const;
81 
83  virtual void setEnablePeriodicCheckpointing(bool);
84  virtual bool enablePeriodicCheckpointing() const;
85 
88  virtual void setPeriodicCheckpointingFrequency(int);
89  virtual int periodicCheckpointingFrequency() const;
90 
92  virtual void setPeriodicCheckpointingDirectory(const std::string&);
93  virtual const std::string& periodicCheckpointingDirectory() const;
94  const DtFilename& periodicCheckpointingDirectoryResolved() const { return myPeriodicCheckpointDirectory; };
95 
97  {
98  return mySimulationSettingsBackup;
99  }
100 
102  void exportSimulationSettings(const std::string& fileName);
103 
105  void importSimulationSettings(const std::string& fileName);
106 
108  virtual void setStartupTerrain(const std::string&);
109  virtual const std::string& startupTerrain() const;
110 
112  virtual void setStartupScenario(const std::string&);
113  virtual const std::string& startupScenario() const;
114 
116  virtual void setStartupSimulationModelSet(const std::string&);
117  virtual const std::string& startupSimulationModelSet() const;
118 
119  virtual void setAllowOrbatDeletionChoice(bool);
120  virtual bool allowOrbatDeletionChoice() const;
121 
123  virtual void saveSettingsAsDefault();
124 
126  virtual void setSimulationModelSetConfigurations(const std::vector<DtVrfSimulationSettingsRecord::SimulationModelSetConfiguration>&);
127  virtual const std::vector<DtVrfSimulationSettingsRecord::SimulationModelSetConfiguration>& simulationModelSetConfigurations() const;
128 
130  virtual void addSimulationModelSetConfiguration(const DtVrfSimulationSettingsRecord::SimulationModelSetConfiguration&,
131  bool autoSaveIfEnabled = true);
132 
134  virtual void removeSimulationModelSetConfiguration(const std::string&);
135 
137  virtual void setAutomaticallyStartMissingBackends(bool);
138  virtual bool automaticallyStartMissingBackends() const;
139 
140  public:
142  boost::signals2::signal<void (const DtVrfSimulationSettingsRecord&)> signal_simulationSettingsChanged;
143 
144  protected:
148 
150  };
151 }
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:58
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtFilename myPeriodicCheckpointDirectory
Definition: vrfSimulationSettingsManager.h:149
Contains makVrv::DtVirtualBaseClass class.
boost::signals2::signal< void(const DtVrfSimulationSettingsRecord &)> signal_simulationSettingsChanged
Sent when session settings have changed.
Definition: vrfSimulationSettingsManager.h:142
DtVrfSimulationSettingsRecord mySimulationSettings
Definition: vrfSimulationSettingsManager.h:146
makVrv::DtDe & myDe
Definition: vrfSimulationSettingsManager.h:145
virtual void addRecords(DtVrfSimulationSettingsRecord &recs, DtVrfSimulationSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSimulationSettingsManager.h:63
const DtFilename & periodicCheckpointingDirectoryResolved() const
Definition: vrfSimulationSettingsManager.h:94
makVrv::DtRecordSettingsBackupInterface * mySimulationSettingsBackup
Definition: vrfSimulationSettingsManager.h:147
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:76
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:23
makVrv::DtRecordSettingsBackupInterface * simulationSettingsBackup()
Definition: vrfSimulationSettingsManager.h:96
The class that will contain information about various scenario settings.
Definition: vrfSimulationSettingsManager.h:29

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)