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,
51 DtCheckForUnusedTriggersOnPlanSave = 0x00100000,
52 DtSaveScenarioAsStartingSnapshot = 0x00200000,
53 DtEnablePeriodicCheckpointing = 0x00400000
62 friend class boost::serialization::access;
67 template<
class Archive>
68 void serialize(Archive & ar,
const unsigned int version)
70 ar & BOOST_SERIALIZATION_NVP(title);
71 ar & BOOST_SERIALIZATION_NVP(simulationModelSets);
72 ar & BOOST_SERIALIZATION_NVP(additionalInformation);
84 virtual void setFlag(
int flag,
bool set);
86 void setAutoJoinSession(
bool);
87 bool autoJoinSession()
const;
89 void setAutomaticallyOpenSessionDatabaseWithoutJoiningSession(
bool);
90 bool automaticallyOpenSessionDatabaseWithoutJoiningSession()
const;
93 virtual void setCheckForUnusedTriggersOnPlanSave(
bool);
94 virtual bool checkForUnusedTriggersOnPlanSave()
const;
96 void setSaveScenarioAsStartingSnapshot(
bool);
97 bool saveScenarioAsStartingSnapshot()
const;
99 void setEnablePeriodicCheckpointing(
bool);
100 bool enablePeriodicCheckpointing()
const;
102 void setPeriodicCheckpointingFrequency(
int);
103 int periodicCheckpointingFrequency()
const;
105 void setPeriodicCheckpointingDirectory(
const std::string&);
106 const std::string& periodicCheckpointingDirectory()
const;
108 void setAskToJoin(
bool);
109 bool askToJoin()
const;
111 void setAlwaysJoinWithSessionDatabase(
bool);
112 bool alwaysJoinWithSessionDatabase()
const;
114 void setAlwaysJoinWithOpenDatabase(
bool);
115 bool alwaysJoinWithOpenDatabase()
const;
118 virtual void setUseStartFreezePdus(
bool);
119 virtual bool useStartFreezePdus()
const;
121 void setDisplaySessionDialogs(
bool);
122 bool displaySessionDialogs()
const;
124 void setZoomToScenarioExtentsOnLoad(
bool);
125 bool zoomToScenarioExtentsOnLoad()
const;
127 void setDisplayCorrelationWarningMessages(
bool);
128 bool displayCorrelationWarningMessages()
const;
130 void setShowSessionStartupDialog(
bool);
131 bool showSessionStartupDialog()
const;
136 void setStartupPreference(
int);
137 int startupPreference()
const;
139 void setStartupTerrain(
const std::string&);
140 const std::string& startupTerrain()
const;
142 void setStartupScenario(
const std::string&);
143 const std::string& startupScenario()
const;
145 void setStartupSimulationModelSet(
const std::string&);
146 const std::string& startupSimulationModelSet()
const;
148 void setAggregateOnCreate(
bool);
149 bool aggregateOnCreate()
const;
151 virtual void setUseSimulationTimeForAdvancement(
bool);
152 virtual bool useSimulationTimeForAdvancement()
const;
154 virtual void setShowOverlayBar(
bool);
155 virtual bool showOverlayBar()
const;
157 void setShowScenarioDescriptionDialog(
bool);
158 bool showScenarioDescriptionDialog()
const;
161 void setUserDefinedSmoothing(
bool);
162 bool userDefinedSmoothing()
const;
165 virtual void setTimeScaleRange(
double low,
double high);
166 virtual void getTimeScaleRange(
double& low,
double& high)
const;
169 void setHelpFile(
const std::string&);
170 const std::string& helpFile()
const;
172 void setDefaultScenarioFile(
const std::string&);
173 const std::string& defaultScenarioFile()
const;
175 void setSimulationObjectGroupTerrain(
const std::string&);
176 const std::string& simulationObjectGroupTerrain()
const;
178 void setDefaultEnvironmentCondition(
const std::string&);
179 const std::string& defaultEnvironmentCondition()
const;
181 void setDefaultSimulationModelSetFile(
const std::string&);
182 const std::string& defaultSimulationModelSetFile()
const;
186 virtual void setUseAdditionalWindowTitle(
bool);
187 virtual bool useAdditionalWindowTitle()
const;
194 virtual const std::vector<SimulationModelSetConfiguration>& simulationModelSetConfigurations()
const;
195 virtual void setSimulationModelSetConfigurations(
const std::vector<SimulationModelSetConfiguration>&);
198 virtual void setScenarioStartTimeAtDefault(
bool);
199 virtual bool scenarioStartTimeAtDefault()
const;
202 virtual void setDefaultScenarioStartTime(time_t);
203 virtual time_t defaultScenarioStartTime()
const;
206 friend class boost::serialization::access;
211 template<
class Archive>
212 void serialize(Archive & ar,
const unsigned int version)
214 ar & BOOST_SERIALIZATION_NVP(mySessionOptions);
216 if ((version == 1) && (Archive::is_loading::value))
218 setFlag(DtShowSessionStartupDialog,
true);
220 else if ((version == 2) && (Archive::is_loading::value))
222 myHelpFile =
"../doc/help/vr-forces_help.qhc";
224 else if (version >= 4)
226 ar & BOOST_SERIALIZATION_NVP(myHelpFile);
227 ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioFile);
228 ar & BOOST_SERIALIZATION_NVP(myDefaultSimulationModelSetFile);
230 if ((version <= 4) && (Archive::is_loading::value))
232 setFlag(DtUseAdditionalWindowTitle,
false);
237 ar & BOOST_SERIALIZATION_NVP(myAdditionalWindowTitle);
241 ar & BOOST_SERIALIZATION_NVP(mySimulationModelSetConfigurations);
245 ar & BOOST_SERIALIZATION_NVP(myTimescaleLow);
246 ar & BOOST_SERIALIZATION_NVP(myTimescaleHigh);
250 ar & BOOST_SERIALIZATION_NVP(myDefaultScenarioStartTime);
254 ar & BOOST_SERIALIZATION_NVP(mySimulationObjectGroupTerrain);
258 ar & BOOST_SERIALIZATION_NVP(myStartupTerrain);
259 ar & BOOST_SERIALIZATION_NVP(myStartupScenario);
260 ar & BOOST_SERIALIZATION_NVP(myStartupSimulationModelSet);
264 ar & BOOST_SERIALIZATION_NVP(myPeriodicCheckpointingTime);
265 ar & BOOST_SERIALIZATION_NVP(myPeriodicCheckpointingDirectory);
269 ar & BOOST_SERIALIZATION_NVP(myDefaultEnvironmentCondition);
280 if (Archive::is_loading::value && (version <= 8))
282 setFlag(DtUseSimulationTimeForAdvancement,
true);
283 setFlag(DtShowOverlayBar,
true);