WSF
VerticalDimension.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
13#ifndef VERTICALDIMENSION_HPP
14#define VERTICALDIMENSION_HPP
15
16#include "usmtf_export.h"
17
18#include <string>
19
20#include "FFIRN_Validator.hpp"
21
22namespace usmtf
23{
26
36class USMTF_EXPORT VerticalDimension : public FFIRN_Validator
37{
38public:
39 VerticalDimension() = default;
40 bool ParseAndValidate(const Field& aField) override;
41 const std::string& GetBaseReference() const noexcept;
42 const std::string& GetMinAltitude() const noexcept;
43 const std::string& GetAltitudeUnitOfMeasure() const noexcept;
44 const std::string& GetFlightIndicator() const noexcept;
45 const std::string& GetMaxAltitude() const noexcept;
47 int GetNumericalMinAltitude() const noexcept;
48 int GetNumericalMaxAltitude() const noexcept;
49
50protected:
59 bool IsValidAltitudeBaseReferencePoint(const std::string& aValue) noexcept;
60 bool IsValidRelativeAltitude(const std::string& aValue) noexcept;
61 bool IsValidAltitudeUOM(const std::string& aValue) noexcept;
62 bool IsValidFlightLevelIndicator(const std::string& aValue) noexcept;
63
69};
70} // namespace usmtf
71#endif
Definition Field.hpp:48
const std::string & GetAltitudeUnitOfMeasure() const noexcept
Definition VerticalDimension.cpp:39
bool IsValidVerticalDimensionRelativeAltToFlightLevel() noexcept
/RAFL:100AGL-FL230
Definition VerticalDimension.cpp:169
std::string mBaseReference
Definition VerticalDimension.hpp:64
const std::string & GetMaxAltitude() const noexcept
Definition VerticalDimension.cpp:49
bool ParseAndValidate(const Field &aField) override
Definition VerticalDimension.cpp:18
bool IsValidVerticalDimensionRelativeAltToRelativeAlt() noexcept
/RARA:000AGL-020AGL
Definition VerticalDimension.cpp:220
std::string mMinAltitude
Definition VerticalDimension.hpp:65
bool IsValidVerticalDimensionBaseToRelativeAlt() noexcept
Definition VerticalDimension.cpp:124
const std::string & GetBaseReference() const noexcept
Definition VerticalDimension.cpp:29
int GetNumericalMaxAltitude() const noexcept
Definition VerticalDimension.cpp:67
bool IsValidVerticalDimensionFlightLevelToFlightLevel() noexcept
/FLFL:FL250-FL290
Definition VerticalDimension.cpp:273
bool IsValidAltitudeUOM(const std::string &aValue) noexcept
Definition VerticalDimension.cpp:354
std::string mAltitudeMeasurement
Definition VerticalDimension.hpp:66
std::string mFlightIndicator
Definition VerticalDimension.hpp:67
bool IsValidRelativeAltitude(const std::string &aValue) noexcept
Definition VerticalDimension.cpp:335
bool IsValidFlightLevelIndicator(const std::string &aValue) noexcept
Definition VerticalDimension.cpp:364
std::string mMaxAltitude
Definition VerticalDimension.hpp:68
const std::string & GetMinAltitude() const noexcept
Definition VerticalDimension.cpp:34
bool IsValidVerticalDimensionBaseToFlightLevel() noexcept
Definition VerticalDimension.cpp:80
const std::string & GetFlightIndicator() const noexcept
Definition VerticalDimension.cpp:44
int GetNumericalMinAltitude() const noexcept
Int because its expressed as 000-999 in hundreds of feet.
Definition VerticalDimension.cpp:54
bool IsValidAltitudeBaseReferencePoint(const std::string &aValue) noexcept
Definition VerticalDimension.cpp:325
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