6#include <boost/serialization/export.hpp>
7#include <boost/archive/binary_oarchive.hpp>
8#include <boost/archive/binary_iarchive.hpp>
25 bool zero_branch =
true;
26 if (
goal.size() > 0) {
159 for (
auto &src : _bu.
goal) {
160 auto p = make_shared<BranchGoal>();
161 p->copyBranchGoal(*src);
162 this->
goal.push_back(std::move(p));
165 auto p = make_shared<BranchStrategy>();
166 p->copyBranchStrategy(*src);
167 this->
strategy.push_back(std::move(p));
169 for (
auto &src : _bu.
subgoal) {
170 auto p = make_shared<BranchSubGoal>();
171 p->copyBranchSubGoal(*src);
172 this->
subgoal.push_back(std::move(p));
175 auto p = make_shared<BranchDiagnosis>();
176 p->copyBranchDiagnosis(*src);
180 auto p = make_shared<BranchActionObjective>();
181 p->copyBranchActionObjective(*src);
185 auto p = make_shared<BranchActionPack>();
186 p->copyBranchActionPack(*src);
189 for (
auto &src : _bu.
action) {
190 auto p = make_shared<BranchAction>();
191 p->copyBranchAction(*src);
192 this->
action.push_back(std::move(p));
195 auto p = make_shared<BranchExpectedAlarmState>();
196 p->copyBranchExpectedAlarmState(*src);
200 auto p = make_shared<BranchExpectedComponentState>();
201 p->copyBranchExpectedComponentState(*src);
205 auto p = make_shared<BranchExpectedSupportSystemState>();
206 p->copyBranchExpectedSupportSystemState(*src);
210 auto p = make_shared<BranchExpectedParameterTrend>();
211 p->copyBranchExpectedParameterTrend(*src);
215 auto p = make_shared<BranchExpectedParameterValue>();
216 p->copyBranchExpectedParameterValue(*src);
220 auto p = make_shared<BranchExpectedParameterDifference>();
221 p->copyBranchExpectedParameterDifference(*src);
225 auto p = make_shared<BranchProcedureStep>();
226 p->copyBranchProcedureStep(*src);
230 auto p = make_shared<BranchProcedureStep>();
231 p->copyBranchProcedureStep(*src);
235 auto p = make_shared<BranchInfoGatherMode>();
236 p->copyBranchInfoGatherMode(*src);
240 auto p = make_shared<BranchExpectedMentalBelief>();
241 p->copyBranchExpectedMentalBelief(*src);
245 auto p = make_shared<BranchScannedParameter>();
246 p->copyBranchScannedParameter(*src);
264 fout << this->
goal.size() <<
'\n';
265 for (
auto &p :
goal) { p->saveBranchGoalToFile(fout); }
266 fout << this->
strategy.size() <<
'\n';
267 for (
auto &p :
strategy) { p->saveBranchStrategyToFile(fout); }
268 fout << this->
subgoal.size() <<
'\n';
269 for (
auto &p :
subgoal) { p->saveBranchSubGoalToFile(fout); }
271 for (
auto &p :
diagnosis) { p->saveBranchDiagnosisToFile(fout); }
273 for (
auto &p :
action_objective) { p->saveBranchActionObjectiveToFile(fout); }
275 for (
auto &p :
action_pack) { p->saveBranchActionPackToFile(fout); }
276 fout << this->
action.size() <<
'\n';
277 for (
auto &p :
action) { p->saveBranchActionToFile(fout); }
279 for (
auto &p :
alarm_state) { p->saveBranchExpectedAlarmStateToFile(fout); }
281 for (
auto &p :
component_state) { p->saveBranchExpectedComponentStateToFile(fout); }
285 for (
auto &p :
parameter_trend) { p->saveBranchExpectedParameterTrendToFile(fout); }
287 for (
auto &p :
parameter_value) { p->saveBranchExpectedParameterValueToFile(fout); }
291 for (
auto &p :
procedure_step) { p->saveBranchProcedureStepToFile(fout); }
295 for (
auto &p :
info_gather_mode) { p->saveBranchInfoGatherModeToFile(fout); }
297 for (
auto &p :
mental_belief) { p->saveBranchExpectedMentalBeliefToFile(fout); }
306 for (i = 0; i < num; i++) {
307 auto p = make_shared<BranchGoal>();
308 p->retrieveBranchGoalFromFile(fin);
309 this->
goal.push_back(std::move(p));
312 for (i = 0; i < num; i++) {
313 auto p = make_shared<BranchStrategy>();
314 p->retrieveBranchStrategyFromFile(fin);
315 this->
strategy.push_back(std::move(p));
318 for (i = 0; i < num; i++) {
319 auto p = make_shared<BranchSubGoal>();
320 p->retrieveBranchSubGoalFromFile(fin);
321 this->
subgoal.push_back(std::move(p));
324 for (i = 0; i < num; i++) {
325 auto p = make_shared<BranchDiagnosis>();
326 p->retrieveBranchDiagnosisFromFile(fin);
330 for (i = 0; i < num; i++) {
331 auto p = make_shared<BranchActionObjective>();
332 p->retrieveBranchActionObjectiveFromFile(fin);
336 for (i = 0; i < num; i++) {
337 auto p = make_shared<BranchActionPack>();
338 p->retrieveBranchActionPackFromFile(fin);
342 for (i = 0; i < num; i++) {
343 auto p = make_shared<BranchAction>();
344 p->retrieveBranchActionFromFile(fin);
345 this->
action.push_back(std::move(p));
348 for (i = 0; i < num; i++) {
349 auto p = make_shared<BranchExpectedAlarmState>();
350 p->retrieveBranchExpectedAlarmStateFromFile(fin);
354 for (i = 0; i < num; i++) {
355 auto p = make_shared<BranchExpectedComponentState>();
356 p->retrieveBranchExpectedComponentStateFromFile(fin);
360 for (i = 0; i < num; i++) {
361 auto p = make_shared<BranchExpectedSupportSystemState>();
362 p->retrieveBranchExpectedSupportSystemStateFromFile(fin);
366 for (i = 0; i < num; i++) {
367 auto p = make_shared<BranchExpectedParameterTrend>();
368 p->retrieveBranchExpectedParameterTrendFromFile(fin);
372 for (i = 0; i < num; i++) {
373 auto p = make_shared<BranchExpectedParameterValue>();
374 p->retrieveBranchExpectedParameterValueFromFile(fin);
378 for (i = 0; i < num; i++) {
379 auto p = make_shared<BranchExpectedParameterDifference>();
380 p->retrieveBranchExpectedParameterDifferenceFromFile(fin);
384 for (i = 0; i < num; i++) {
385 auto p = make_shared<BranchProcedureStep>();
386 p->retrieveBranchProcedureStepFromFile(fin);
390 for (i = 0; i < num; i++) {
391 auto p = make_shared<BranchProcedureStep>();
392 p->retrieveBranchProcedureStepFromFile(fin);
396 for (i = 0; i < num; i++) {
397 auto p = make_shared<BranchInfoGatherMode>();
398 p->retrieveBranchInfoGatherModeFromFile(fin);
402 for (i = 0; i < num; i++) {
403 auto p = make_shared<BranchExpectedMentalBelief>();
404 p->retrieveBranchExpectedMentalBeliefFromFile(fin);
408 for (i = 0; i < num; i++) {
409 auto p = make_shared<BranchScannedParameter>();
410 p->retrieveBranchScannedParameterFromFile(fin);
A single branch alternative — holds all crew/system state deltas for one branch.
std::vector< std::shared_ptr< BranchSubGoal > > subgoal
void copyBranchUnit(BranchUnit &)
std::vector< std::shared_ptr< BranchExpectedParameterTrend > > parameter_trend
std::vector< std::shared_ptr< BranchInfoGatherMode > > info_gather_mode
std::vector< std::shared_ptr< BranchProcedureStep > > instinctive_response_procedure
std::vector< std::shared_ptr< BranchGoal > > goal
void clearBranchUnitAllPointers()
std::vector< std::shared_ptr< BranchActionPack > > action_pack
void calculateNumberOfCombination()
std::vector< std::shared_ptr< BranchExpectedSupportSystemState > > support_system_state
std::vector< std::shared_ptr< BranchExpectedParameterDifference > > parameter_difference
std::vector< std::shared_ptr< BranchDiagnosis > > diagnosis
int getNumberOfItemInBranchUnit()
std::vector< std::shared_ptr< BranchExpectedMentalBelief > > mental_belief
std::vector< std::shared_ptr< BranchExpectedParameterValue > > parameter_value
int getNumberOfCombination()
std::vector< std::shared_ptr< BranchScannedParameter > > scanned_parameter
int number_of_combination
std::vector< std::shared_ptr< BranchExpectedComponentState > > component_state
std::vector< std::shared_ptr< BranchStrategy > > strategy
void saveBranchUnitToFile(std::ofstream &)
std::vector< std::shared_ptr< BranchProcedureStep > > procedure_step
int getTotalPiecesOfInfo()
std::vector< std::shared_ptr< BranchExpectedAlarmState > > alarm_state
std::vector< std::shared_ptr< BranchAction > > action
std::vector< std::shared_ptr< BranchActionObjective > > action_objective
void retrieveBranchUnitFromFile(std::ifstream &)