WSF
EngagementReport.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2017 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef ENGAGEMENTREPORT_HPP
13#define ENGAGEMENTREPORT_HPP
14
15#include <iostream>
16#include <map>
17#include <string>
18#include <unordered_set>
19
20#include "post_processor_lib_export.h"
21
22#include "Report.hpp"
23class UtInput;
24
25class POST_PROCESSOR_LIB_EXPORT EngagementReport : public Report
26{
27 public:
28
29 EngagementReport() = delete;
30 explicit EngagementReport(const Options& aOptions);
31 ~EngagementReport() override = default;
32
33 bool CreateRequiredData(std::string& aOutputDir) override;
34 bool Filter(std::vector<std::string>& aLine) override;
35 void PrintReportHeader(std::ostream& aStream) override;
36 void PrintReport(std::istream& aInStream, std::ostream& aOutStream) override;
37 bool ProcessInputConfiguration(UtInput& aInput) override;
38
39 private:
40 enum class SubReport
41 {
42 Unknown,
43 GAH, //Geometric_Action_History
44 DFH, //damage_factor_history
45 TEH, //track_event_history
46 WEX //weapon_expenditures
47 };
48
49 void SetSubreport(const std::string& aSubReport);
50 std::string GetSubreportStr() { return GetSubreportStr(mSubReportType); }
51 std::string GetSubreportStr(SubReport& aSubReport);
52 SubReport mSubReportType = SubReport::Unknown;
53 std::unordered_set<std::string> mReportOptions;
54 std::unordered_set<std::string> mTakenBy;
55 std::unordered_set<std::string> mTakenAgainst;
56 std::unordered_set<std::string> mActionTypes;
57 std::unordered_set<std::string> mWeaponTypes;
58 std::unordered_set<std::string> mAOI;
59 std::unordered_set<std::string> mDEOptions;
60 std::string mReferenceSet;
61};
62
63#endif
~EngagementReport() override=default
EngagementReport()=delete
virtual bool ProcessInputConfiguration(UtInput &aInput)
Definition Report.cpp:67
bool PrintReport()
Definition Report.cpp:267
virtual void PrintReportHeader(std::ostream &aStream)
Definition Report.hpp:138
virtual bool Filter(std::vector< std::string > &aLine)
Definition Report.hpp:139
Report()=delete
virtual bool CreateRequiredData(std::string &aOutputDir)
Definition Report.hpp:136
Definition Options.hpp:21
Copyrights Multiple, All Rights Reserved