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

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)