VR-Forces Development_Version 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  DtEnablePeriodicCheckpointing = 0x00200000,
52  };
53 
55  {
56  std::string title;
57  std::vector<std::string> simulationModelSets;
58  std::string additionalInformation;
59  friend class boost::serialization::access;
60 
64  template<class Archive>
65  void serialize(Archive & ar, const unsigned int version)
66  {
67  ar & BOOST_SERIALIZATION_NVP(title);
68  ar & BOOST_SERIALIZATION_NVP(simulationModelSets);
69  ar & BOOST_SERIALIZATION_NVP(additionalInformation);
70  }
71  };
72 
73  public:
76 
77  virtual ~DtVrfSessionSettingsRecord();
78 
79  public:
80 
81  virtual void setFlag(int flag, bool set);
82 
83  void setAutoJoinSession(bool);
84  bool autoJoinSession() const;
85 
86  void setAutomaticallyOpenSessionDatabaseWithoutJoiningSession(bool);
87  bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
88 
89  void setEnablePeriodicCheckpointing(bool);
90  bool enablePeriodicCheckpointing() const;
91 
92  void setPeriodicCheckpointingFrequency(int);
93  int periodicCheckpointingFrequency() const;
94 
95  void setPeriodicCheckpointingDirectory(const std::string&);
96  const std::string& periodicCheckpointingDirectory() const;
97 
98  void setAskToJoin(bool);
99  bool askToJoin() const;
100 
101  void setAlwaysJoinWithSessionDatabase(bool);
102  bool alwaysJoinWithSessionDatabase() const;
103 
104  void setAlwaysJoinWithOpenDatabase(bool);
105  bool alwaysJoinWithOpenDatabase() const;
106 
108  virtual void setUseStartFreezePdus(bool);
109  virtual bool useStartFreezePdus() const;
110 
111  void setDisplaySessionDialogs(bool);
112  bool displaySessionDialogs() const;
113 
114  void setZoomToScenarioExtentsOnLoad(bool);
115  bool zoomToScenarioExtentsOnLoad() const;
116 
117  void setDisplayCorrelationWarningMessages(bool);
118  bool displayCorrelationWarningMessages() const;
119 
120  void setShowSessionStartupDialog(bool);
121  bool showSessionStartupDialog() const;
122 
126  void setStartupPreference(int);
127  int startupPreference() const;
128 
129  void setStartupTerrain(const std::string&);
130  const std::string& startupTerrain() const;
131 
132  void setStartupScenario(const std::string&);
133  const std::string& startupScenario() const;
134 
135  void setStartupSimulationModelSet(const std::string&);
136  const std::string& startupSimulationModelSet() const;
137 
138  void setAggregateOnCreate(bool);
139  bool aggregateOnCreate() const;
140 
141  virtual void setUseSimulationTimeForAdvancement(bool);
142  virtual bool useSimulationTimeForAdvancement() const;
143 
144  virtual void setShowOverlayBar(bool);
145  virtual bool showOverlayBar() const;
146 
147  void setShowScenarioDescriptionDialog(bool);
148  bool showScenarioDescriptionDialog() const;
149 
151  void setUserDefinedSmoothing(bool);
152  bool userDefinedSmoothing() const;
153 
155  virtual void setTimeScaleRange(double low, double high);
156  virtual void getTimeScaleRange(double& low, double& high) const;
157 
159  void setHelpFile(const std::string&);
160  const std::string& helpFile() const;
161 
162  void setDefaultScenarioFile(const std::string&);
163  const std::string& defaultScenarioFile() const;
164 
165  void setSimulationObjectGroupTerrain(const std::string&);
166  const std::string& simulationObjectGroupTerrain() const;
167 
168  void setDefaultSimulationModelSetFile(const std::string&);
169  const std::string& defaultSimulationModelSetFile() const;
170 
173  virtual void setUseAdditionalWindowTitle(bool);
174  virtual bool useAdditionalWindowTitle() const;
175 
177  virtual void setAdditionalWindowTitle(const makVrv::DtUnicode&);
178  virtual makVrv::DtUnicode additionalWindowTitle() const;
179 
181  virtual const std::vector<SimulationModelSetConfiguration>& simulationModelSetConfigurations() const;
182  virtual void setSimulationModelSetConfigurations(const std::vector<SimulationModelSetConfiguration>&);
183 
185  virtual void setScenarioStartTimeAtDefault(bool);
186  virtual bool scenarioStartTimeAtDefault() const;
187 
189  virtual void setDefaultScenarioStartTime(time_t);
190  virtual time_t defaultScenarioStartTime() const;
191 
192  protected:
193  friend class boost::serialization::access;
194 
198  template<class Archive>
199  void serialize(Archive & ar, const unsigned int version)
200  {
201  ar & BOOST_SERIALIZATION_NVP(mySessionOptions);
202 
203  if ((version == 1) && (Archive::is_loading::value))
204  {
205  setFlag(DtShowSessionStartupDialog, true);
206  }
207  else if ((version == 2) && (Archive::is_loading::value))
208  {
209  myHelpFile = "../doc/help/vr-forces_help.qhc";
210  }
211  else if (version >= 4)
212  {
213  ar & BOOST_SERIALIZATION_NVP(myHelpFile);
214  ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioFile);
215  ar & BOOST_SERIALIZATION_NVP(myDefaultSimulationModelSetFile);
216 
217  if ((version <= 4) && (Archive::is_loading::value))
218  {
219  setFlag(DtUseAdditionalWindowTitle, false);
220  }
221 
222  if (version >= 5)
223  {
224  ar & BOOST_SERIALIZATION_NVP(myAdditionalWindowTitle);
225 
226  if (version >= 6)
227  {
228  ar & BOOST_SERIALIZATION_NVP(mySimulationModelSetConfigurations);
229 
230  if (version >= 7)
231  {
232  ar & BOOST_SERIALIZATION_NVP(myTimescaleLow);
233  ar & BOOST_SERIALIZATION_NVP(myTimescaleHigh);
234 
235  if (version >= 10)
236  {
237  ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioStartTime);
238 
239  if (version >= 11)
240  {
241  ar & BOOST_SERIALIZATION_NVP(mySimulationObjectGroupTerrain);
242 
243  if (version >= 12)
244  {
245  ar & BOOST_SERIALIZATION_NVP(myStartupTerrain);
246  ar & BOOST_SERIALIZATION_NVP(myStartupScenario);
247  ar & BOOST_SERIALIZATION_NVP(myStartupSimulationModelSet);
248 
249  if (version >= 13)
250  {
251  ar & BOOST_SERIALIZATION_NVP(myPeriodicCheckpointingTime);
252  ar & BOOST_SERIALIZATION_NVP(myPeriodicCheckpointingDirectory);
253  }
254  }
255  }
256  }
257  }
258  }
259  }
260  }
261 
262  if (Archive::is_loading::value && (version <= 8))
263  {
264  setFlag(DtUseSimulationTimeForAdvancement, true);
265  setFlag(DtShowOverlayBar, true);
266  }
267  }
268 
269  protected:
271  std::string myHelpFile;
276  std::vector<SimulationModelSetConfiguration> mySimulationModelSetConfigurations;
280 
281  std::string myStartupTerrain;
282  std::string myStartupScenario;
284 
287  };
288 }
289 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)