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 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,
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;
116 void setStartupPreference(
int);
117 int startupPreference()
const;
119 void setStartupTerrain(
const std::string&);
120 const std::string& startupTerrain()
const;
122 void setStartupScenario(
const std::string&);
123 const std::string& startupScenario()
const;
125 void setStartupSimulationModelSet(
const std::string&);
126 const std::string& startupSimulationModelSet()
const;
128 void setAggregateOnCreate(
bool);
129 bool aggregateOnCreate()
const;
131 virtual void setUseSimulationTimeForAdvancement(
bool);
132 virtual bool useSimulationTimeForAdvancement()
const;
134 virtual void setShowOverlayBar(
bool);
135 virtual bool showOverlayBar()
const;
137 void setShowScenarioDescriptionDialog(
bool);
138 bool showScenarioDescriptionDialog()
const;
141 void setUserDefinedSmoothing(
bool);
142 bool userDefinedSmoothing()
const;
145 virtual void setTimeScaleRange(
double low,
double high);
146 virtual void getTimeScaleRange(
double& low,
double& high)
const;
149 void setHelpFile(
const std::string&);
150 const std::string& helpFile()
const;
152 void setDefaultScenarioFile(
const std::string&);
153 const std::string& defaultScenarioFile()
const;
155 void setSimulationObjectGroupTerrain(
const std::string&);
156 const std::string& simulationObjectGroupTerrain()
const;
158 void setDefaultSimulationModelSetFile(
const std::string&);
159 const std::string& defaultSimulationModelSetFile()
const;
163 virtual void setUseAdditionalWindowTitle(
bool);
164 virtual bool useAdditionalWindowTitle()
const;
171 virtual const std::vector<SimulationModelSetConfiguration>& simulationModelSetConfigurations()
const;
172 virtual void setSimulationModelSetConfigurations(
const std::vector<SimulationModelSetConfiguration>&);
175 virtual void setScenarioStartTimeAtDefault(
bool);
176 virtual bool scenarioStartTimeAtDefault()
const;
179 virtual void setDefaultScenarioStartTime(time_t);
180 virtual time_t defaultScenarioStartTime()
const;
183 friend class boost::serialization::access;
188 template<
class Archive>
189 void serialize(Archive & ar,
const unsigned int version)
191 ar & BOOST_SERIALIZATION_NVP(mySessionOptions);
193 if ((version == 1) && (Archive::is_loading::value))
195 setFlag(DtShowSessionStartupDialog,
true);
197 else if ((version == 2) && (Archive::is_loading::value))
199 myHelpFile =
"../doc/help/vr-forces_help.qhc";
201 else if (version >= 4)
203 ar & BOOST_SERIALIZATION_NVP(myHelpFile);
204 ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioFile);
205 ar & BOOST_SERIALIZATION_NVP(myDefaultSimulationModelSetFile);
207 if ((version <= 4) && (Archive::is_loading::value))
209 setFlag(DtUseAdditionalWindowTitle,
false);
214 ar & BOOST_SERIALIZATION_NVP(myAdditionalWindowTitle);
218 ar & BOOST_SERIALIZATION_NVP(mySimulationModelSetConfigurations);
222 ar & BOOST_SERIALIZATION_NVP(myTimescaleLow);
223 ar & BOOST_SERIALIZATION_NVP(myTimescaleHigh);
227 ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioStartTime);
231 ar & BOOST_SERIALIZATION_NVP(mySimulationObjectGroupTerrain);
235 ar & BOOST_SERIALIZATION_NVP(myStartupTerrain);
236 ar & BOOST_SERIALIZATION_NVP(myStartupScenario);
237 ar & BOOST_SERIALIZATION_NVP(myStartupSimulationModelSet);
246 if (Archive::is_loading::value && (version <= 8))
248 setFlag(DtUseSimulationTimeForAdvancement,
true);
249 setFlag(DtShowOverlayBar,
true);