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>
31 DtAutoJoinSession = 0x00000001,
32 DtAskToJoin = 0x00000002,
33 DtAlwaysJoinWithSessionDatabase = 0x00000004,
34 DtAlwaysJoinWithOpenDatabase = 0x00000008,
35 DtShowSessionDialogs = 0x00000010,
36 DtDisplayCorrelationWarningMessages = 0x00000020,
37 DtShowSessionStartupDialog = 0x00000040,
38 DtStartOnNewVRTheWorld = 0x00000080,
39 DtStartOnNewScenario = 0x00000100,
40 DtStartOnLoadScenario = 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,
58 friend class boost::serialization::access;
63 template<
class Archive>
64 void serialize(Archive & ar,
const unsigned int version)
66 ar & BOOST_SERIALIZATION_NVP(title);
67 ar & BOOST_SERIALIZATION_NVP(simulationModelSets);
68 ar & BOOST_SERIALIZATION_NVP(additionalInformation);
80 virtual void setFlag(
int flag,
bool set);
82 void setAutoJoinSession(
bool);
83 bool autoJoinSession()
const;
85 void setAutomaticallyOpenSessionDatabaseWithoutJoiningSession(
bool);
86 bool automaticallyOpenSessionDatabaseWithoutJoiningSession()
const;
88 void setAskToJoin(
bool);
89 bool askToJoin()
const;
91 void setAlwaysJoinWithSessionDatabase(
bool);
92 bool alwaysJoinWithSessionDatabase()
const;
94 void setAlwaysJoinWithOpenDatabase(
bool);
95 bool alwaysJoinWithOpenDatabase()
const;
98 virtual void setUseStartFreezePdus(
bool);
99 virtual bool useStartFreezePdus()
const;
101 void setDisplaySessionDialogs(
bool);
102 bool displaySessionDialogs()
const;
104 void setZoomToScenarioExtentsOnLoad(
bool);
105 bool zoomToScenarioExtentsOnLoad()
const;
107 void setDisplayCorrelationWarningMessages(
bool);
108 bool displayCorrelationWarningMessages()
const;
110 void setShowSessionStartupDialog(
bool);
111 bool showSessionStartupDialog()
const;
113 void setStartupPreference(
int);
114 int startupPreference()
const;
116 void setAggregateOnCreate(
bool);
117 bool aggregateOnCreate()
const;
119 virtual void setUseSimulationTimeForAdvancement(
bool);
120 virtual bool useSimulationTimeForAdvancement()
const;
122 virtual void setShowOverlayBar(
bool);
123 virtual bool showOverlayBar()
const;
125 void setShowScenarioDescriptionDialog(
bool);
126 bool showScenarioDescriptionDialog()
const;
129 void setUserDefinedSmoothing(
bool);
130 bool userDefinedSmoothing()
const;
133 virtual void setTimeScaleRange(
double low,
double high);
134 virtual void getTimeScaleRange(
double& low,
double& high)
const;
137 void setHelpFile(
const std::string&);
138 const std::string& helpFile()
const;
140 void setDefaultScenarioFile(
const std::string&);
141 const std::string& defaultScenarioFile()
const;
143 void setDefaultSimulationModelSetFile(
const std::string&);
144 const std::string& defaultSimulationModelSetFile()
const;
148 virtual void setUseAdditionalWindowTitle(
bool);
149 virtual bool useAdditionalWindowTitle()
const;
156 virtual const std::vector<SimulationModelSetConfiguration>& simulationModelSetConfigurations()
const;
157 virtual void setSimulationModelSetConfigurations(
const std::vector<SimulationModelSetConfiguration>&);
160 virtual void setScenarioStartTimeAtDefault(
bool);
161 virtual bool scenarioStartTimeAtDefault()
const;
164 virtual void setDefaultScenarioStartTime(time_t);
165 virtual time_t defaultScenarioStartTime()
const;
168 friend class boost::serialization::access;
173 template<
class Archive>
174 void serialize(Archive & ar,
const unsigned int version)
176 ar & BOOST_SERIALIZATION_NVP(mySessionOptions);
178 if ((version == 1) && (Archive::is_loading::value))
180 setFlag(DtShowSessionStartupDialog,
true);
182 else if ((version == 2) && (Archive::is_loading::value))
184 myHelpFile =
"../doc/help/vr-forces_help.qhc";
186 else if (version >= 4)
188 ar & BOOST_SERIALIZATION_NVP(myHelpFile);
189 ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioFile);
190 ar & BOOST_SERIALIZATION_NVP(myDefaultSimulationModelSetFile);
192 if ((version <= 4) && (Archive::is_loading::value))
194 setFlag(DtUseAdditionalWindowTitle,
false);
199 ar & BOOST_SERIALIZATION_NVP(myAdditionalWindowTitle);
203 ar & BOOST_SERIALIZATION_NVP(mySimulationModelSetConfigurations);
207 ar & BOOST_SERIALIZATION_NVP(myTimescaleLow);
208 ar & BOOST_SERIALIZATION_NVP(myTimescaleHigh);
212 ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioStartTime);
219 if (Archive::is_loading::value && (version <= 8))
221 setFlag(DtUseSimulationTimeForAdvancement,
true);
222 setFlag(DtShowOverlayBar,
true);