VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfSessionSettingsRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vrvUtil/DtUnicode.h>
16 
17 #include <boost/serialization/access.hpp>
18 #include <boost/serialization/nvp.hpp>
19 #include <boost/serialization/list.hpp>
20 #include <boost/serialization/map.hpp>
21 #include <boost/serialization/vector.hpp>
22 #include <boost/serialization/string.hpp>
23 
24 namespace makVrf
25 {
27  {
28  public:
30  {
31  DtAutoJoinSession = 0x00000001,
32  DtAskToJoin = 0x00000002,
33  DtAlwaysJoinWithSessionDatabase = 0x00000004,
34  DtAlwaysJoinWithOpenDatabase = 0x00000008,
35  DtShowSessionDialogs = 0x00000010,
36  DtDisplayCorrelationWarningMessages = 0x00000020,
37  DtShowSessionStartupDialog = 0x00000040,
38  DtStartOnNewScenario = 0x00000080,
39  DtStartOnLoadRecentScenario = 0x00000100,
40  DtStartOnLoadScenarioFromDisk = 0x00000200,
41  DtAggregateOnCreate = 0x00000400,
42  DtUserDefinedSmoothing = 0x00000800,
43  DtShowScenarioDescriptionDialog = 0x00001000,
44  DtZoomToScenarioExtentsOnLoad = 0x00002000,
45  DtUseAdditionalWindowTitle = 0x00004000,
46  DtUseSimulationTimeForAdvancement = 0x00008000,
47  DtShowOverlayBar = 0x00010000,
48  DtSetScenarioStartTimeAtDefault = 0x00020000,
49  DtAutomaticallyOpenSessionDatabaseWithoutJoiningSession = 0x00040000,
50  DtUseStartFreezePdus = 0x00080000,
51  DtCheckForUnusedTriggersOnPlanSave = 0x00100000,
52  DtSaveScenarioAsStartingSnapshot = 0x00200000,
53  DtEnablePeriodicCheckpointing = 0x00400000
54  };
55 
56 
58  {
59  std::string title;
60  std::vector<std::string> simulationModelSets;
61  std::string additionalInformation;
62  friend class boost::serialization::access;
63 
67  template<class Archive>
68  void serialize(Archive & ar, const unsigned int version)
69  {
70  ar & BOOST_SERIALIZATION_NVP(title);
71  ar & BOOST_SERIALIZATION_NVP(simulationModelSets);
72  ar & BOOST_SERIALIZATION_NVP(additionalInformation);
73  }
74  };
75 
76  public:
79 
80  virtual ~DtVrfSessionSettingsRecord();
81 
82  public:
83 
84  virtual void setFlag(int flag, bool set);
85 
86  void setAutoJoinSession(bool);
87  bool autoJoinSession() const;
88 
89  void setAutomaticallyOpenSessionDatabaseWithoutJoiningSession(bool);
90  bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
91 
93  virtual void setCheckForUnusedTriggersOnPlanSave(bool);
94  virtual bool checkForUnusedTriggersOnPlanSave() const;
95 
96  void setSaveScenarioAsStartingSnapshot(bool);
97  bool saveScenarioAsStartingSnapshot() const;
98 
99  void setEnablePeriodicCheckpointing(bool);
100  bool enablePeriodicCheckpointing() const;
101 
102  void setPeriodicCheckpointingFrequency(int);
103  int periodicCheckpointingFrequency() const;
104 
105  void setPeriodicCheckpointingDirectory(const std::string&);
106  const std::string& periodicCheckpointingDirectory() const;
107 
108  void setAskToJoin(bool);
109  bool askToJoin() const;
110 
111  void setAlwaysJoinWithSessionDatabase(bool);
112  bool alwaysJoinWithSessionDatabase() const;
113 
114  void setAlwaysJoinWithOpenDatabase(bool);
115  bool alwaysJoinWithOpenDatabase() const;
116 
118  virtual void setUseStartFreezePdus(bool);
119  virtual bool useStartFreezePdus() const;
120 
121  void setDisplaySessionDialogs(bool);
122  bool displaySessionDialogs() const;
123 
124  void setZoomToScenarioExtentsOnLoad(bool);
125  bool zoomToScenarioExtentsOnLoad() const;
126 
127  void setDisplayCorrelationWarningMessages(bool);
128  bool displayCorrelationWarningMessages() const;
129 
130  void setShowSessionStartupDialog(bool);
131  bool showSessionStartupDialog() const;
132 
136  void setStartupPreference(int);
137  int startupPreference() const;
138 
139  void setStartupTerrain(const std::string&);
140  const std::string& startupTerrain() const;
141 
142  void setStartupScenario(const std::string&);
143  const std::string& startupScenario() const;
144 
145  void setStartupSimulationModelSet(const std::string&);
146  const std::string& startupSimulationModelSet() const;
147 
148  void setAggregateOnCreate(bool);
149  bool aggregateOnCreate() const;
150 
151  virtual void setUseSimulationTimeForAdvancement(bool);
152  virtual bool useSimulationTimeForAdvancement() const;
153 
154  virtual void setShowOverlayBar(bool);
155  virtual bool showOverlayBar() const;
156 
157  void setShowScenarioDescriptionDialog(bool);
158  bool showScenarioDescriptionDialog() const;
159 
161  void setUserDefinedSmoothing(bool);
162  bool userDefinedSmoothing() const;
163 
165  virtual void setTimeScaleRange(double low, double high);
166  virtual void getTimeScaleRange(double& low, double& high) const;
167 
169  void setHelpFile(const std::string&);
170  const std::string& helpFile() const;
171 
172  void setDefaultScenarioFile(const std::string&);
173  const std::string& defaultScenarioFile() const;
174 
175  void setSimulationObjectGroupTerrain(const std::string&);
176  const std::string& simulationObjectGroupTerrain() const;
177 
178  void setDefaultEnvironmentCondition(const std::string&);
179  const std::string& defaultEnvironmentCondition() const;
180 
181  void setDefaultSimulationModelSetFile(const std::string&);
182  const std::string& defaultSimulationModelSetFile() const;
183 
186  virtual void setUseAdditionalWindowTitle(bool);
187  virtual bool useAdditionalWindowTitle() const;
188 
190  virtual void setAdditionalWindowTitle(const makVrv::DtUnicode&);
191  virtual makVrv::DtUnicode additionalWindowTitle() const;
192 
194  virtual const std::vector<SimulationModelSetConfiguration>& simulationModelSetConfigurations() const;
195  virtual void setSimulationModelSetConfigurations(const std::vector<SimulationModelSetConfiguration>&);
196 
198  virtual void setScenarioStartTimeAtDefault(bool);
199  virtual bool scenarioStartTimeAtDefault() const;
200 
202  virtual void setDefaultScenarioStartTime(time_t);
203  virtual time_t defaultScenarioStartTime() const;
204 
205  protected:
206  friend class boost::serialization::access;
207 
211  template<class Archive>
212  void serialize(Archive & ar, const unsigned int version)
213  {
214  ar & BOOST_SERIALIZATION_NVP(mySessionOptions);
215 
216  if ((version == 1) && (Archive::is_loading::value))
217  {
218  setFlag(DtShowSessionStartupDialog, true);
219  }
220  else if ((version == 2) && (Archive::is_loading::value))
221  {
222  myHelpFile = "../doc/help/vr-forces_help.qhc";
223  }
224  else if (version >= 4)
225  {
226  ar & BOOST_SERIALIZATION_NVP(myHelpFile);
227  ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioFile);
228  ar & BOOST_SERIALIZATION_NVP(myDefaultSimulationModelSetFile);
229 
230  if ((version <= 4) && (Archive::is_loading::value))
231  {
232  setFlag(DtUseAdditionalWindowTitle, false);
233  }
234 
235  if (version >= 5)
236  {
237  ar & BOOST_SERIALIZATION_NVP(myAdditionalWindowTitle);
238 
239  if (version >= 6)
240  {
241  ar & BOOST_SERIALIZATION_NVP(mySimulationModelSetConfigurations);
242 
243  if (version >= 7)
244  {
245  ar & BOOST_SERIALIZATION_NVP(myTimescaleLow);
246  ar & BOOST_SERIALIZATION_NVP(myTimescaleHigh);
247 
248  if (version >= 10)
249  {
250  ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioStartTime);
251 
252  if (version >= 11)
253  {
254  ar & BOOST_SERIALIZATION_NVP(mySimulationObjectGroupTerrain);
255 
256  if (version >= 12)
257  {
258  ar & BOOST_SERIALIZATION_NVP(myStartupTerrain);
259  ar & BOOST_SERIALIZATION_NVP(myStartupScenario);
260  ar & BOOST_SERIALIZATION_NVP(myStartupSimulationModelSet);
261 
262  if (version >= 13)
263  {
264  ar & BOOST_SERIALIZATION_NVP(myPeriodicCheckpointingTime);
265  ar & BOOST_SERIALIZATION_NVP(myPeriodicCheckpointingDirectory);
266 
267  if (version >= 14)
268  {
269  ar & BOOST_SERIALIZATION_NVP(myDefaultEnvironmentCondition);
270  }
271  }
272  }
273  }
274  }
275  }
276  }
277  }
278  }
279 
280  if (Archive::is_loading::value && (version <= 8))
281  {
282  setFlag(DtUseSimulationTimeForAdvancement, true);
283  setFlag(DtShowOverlayBar, true);
284  }
285  }
286 
287  protected:
289  std::string myHelpFile;
294  std::vector<SimulationModelSetConfiguration> mySimulationModelSetConfigurations;
298 
299  std::string myStartupTerrain;
300  std::string myStartupScenario;
302 
306  };
307 }
308 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)