WSF
WsfCoverageRawDataOutput.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 2020 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 WSFCOVERAGERAWDATAOUTPUT_HPP
13#define WSFCOVERAGERAWDATAOUTPUT_HPP
14
15#include <vector>
16
17class UtCalendar;
18
19#include "wsf_coverage_export.h"
20
22#include "WsfCoverageAsset.hpp"
24
25namespace wsf
26{
27namespace coverage
28{
29
31class WSF_COVERAGE_EXPORT RawDataOutput
32{
33public:
34 explicit RawDataOutput(const std::string& aFileName)
35 : mFileName{aFileName}
36 {
37 }
38 RawDataOutput(const RawDataOutput& aOther) = default;
39
40 RawDataOutput* Clone() { return new RawDataOutput{*this}; }
41
42 void AddInterval(const GridAsset& aGridAsset, const FreeAsset& aFreeAsset, const AccessInterval& aInterval);
43
45 std::size_t GetNumIntervals() const { return mAccessData.size(); }
46
47 void Write(const UtCalendar& aSimStartEpoch) const;
48 void Write(TextOutputWriter& aWriter, const UtCalendar& aSimStartEpoch) const;
49
51 const std::string& GetFileName() const { return mFileName; }
52
54 const std::string& GetOutputDir() const { return mOutputDir; }
55
57 void SetFileName(const std::string& aFileName) { mFileName = aFileName; }
58
60 void SetOutputDir(const std::string& aOutputDir) { mOutputDir = aOutputDir; }
61
62private:
63 void WriteData(TextOutputWriter& aWriter, const UtCalendar& aSimStartEpoch) const;
64
65 std::vector<std::tuple<GridAsset, FreeAsset, AccessInterval>> mAccessData{};
66 std::string mFileName;
67 std::string mOutputDir{};
68};
69
70} // namespace coverage
71} // namespace wsf
72
73#endif // WSFCOVERAGERAWDATAOUTPUT_HPP
Definition WsfCoverageAccessInterval.hpp:28
Definition WsfCoverageAsset.hpp:81
Definition WsfCoverageAsset.hpp:37
RawDataOutput(const std::string &aFileName)
Definition WsfCoverageRawDataOutput.hpp:34
RawDataOutput(const RawDataOutput &aOther)=default
void SetFileName(const std::string &aFileName)
Set the name of the file into which the data will be written.
Definition WsfCoverageRawDataOutput.hpp:57
const std::string & GetFileName() const
Return the name of the file into which the data will be written.
Definition WsfCoverageRawDataOutput.hpp:51
RawDataOutput * Clone()
Definition WsfCoverageRawDataOutput.hpp:40
void SetOutputDir(const std::string &aOutputDir)
Set the directory into which the data file will be written.
Definition WsfCoverageRawDataOutput.hpp:60
const std::string & GetOutputDir() const
Return the directory into which the data file will be written.
Definition WsfCoverageRawDataOutput.hpp:54
std::size_t GetNumIntervals() const
Return the number of stored intervals.
Definition WsfCoverageRawDataOutput.hpp:45
Definition WsfCoverageTextOutputWriter.hpp:34
Definition WsfCoverage.cpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved