WSF
Onetrack.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 2019 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 ONETRACK_HPP
13#define ONETRACK_HPP
14
15#include "usmtf_export.h"
16
17#include <string>
18#include <tuple>
19
20#include "Field.hpp"
21#include "LatLon.hpp"
22#include "Set.hpp"
23#include "TabularSet.hpp"
24#include "TrackWidth.hpp"
25#include "UtLLPos.hpp"
26#include "VerticalDimension.hpp"
27
28namespace usmtf
29{
58class USMTF_EXPORT OneTrack : public TabularSet
59{
60public:
61 using Leg = std::tuple<size_t, LatLon, LatLon, TrackWidth, VerticalDimension>;
62 using Legs = std::vector<Leg>;
63 OneTrack(const std::string& aSTF, const std::vector<Field>& aFields) noexcept;
64 OneTrack(const OneTrack&) = delete;
65 const Legs& GetLegs() const noexcept;
66
67private:
68 bool AreLegsValid();
69 bool AreLegsSequential(const std::string& aLegSequence, size_t aCurrentIteration);
70 Legs mLegs;
71};
72} // namespace usmtf
73#endif
const Legs & GetLegs() const noexcept
Definition Onetrack.cpp:45
std::tuple< size_t, LatLon, LatLon, TrackWidth, VerticalDimension > Leg
Definition Onetrack.hpp:61
OneTrack(const std::string &aSTF, const std::vector< Field > &aFields) noexcept
Definition Onetrack.cpp:19
OneTrack(const OneTrack &)=delete
std::vector< Leg > Legs
Definition Onetrack.hpp:62
TabularSet(const std::string &aSTF, const std::vector< Field > &aFields, const size_t aHeaderOffset=1) noexcept
Definition TabularSet.cpp:18
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved