WSF
EllipticalArea.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 ELIPTICALAREA_HPP
13#define ELIPTICALAREA_HPP
14
15#include "usmtf_export.h"
16
17#include <string>
18
19#include "FFIRN_Validator.hpp"
20
21namespace usmtf
22{
25
32
36
37class USMTF_EXPORT EllipticalArea : public FFIRN_Validator
38{
39public:
40 EllipticalArea() = default;
41 bool ParseAndValidate(const Field& aField) override;
42 const std::string& GetHorizontalAxisDistance() const noexcept;
43 const std::string& GetHorizontalAxisUOM() const noexcept;
44 const std::string& GetVerticalAxisDistance() const noexcept;
45 const std::string& GetVerticalAxisUOM() const noexcept;
46 float GetAngleFromTrueNorth() const noexcept;
47
48protected:
49 enum class Axis
50 {
51 Horizontal,
52 Vertical
53 };
54 bool IsValidEllipsesArea();
55 bool IsValidAxis(const std::string& aAxis, Axis axis);
56 bool IsValidDegree(const std::string& aDegree);
58 std::string mHorizontalAxisUOM;
60 std::string mVerticalAxisUOM;
62};
63} // namespace usmtf
64#endif
const std::string & GetVerticalAxisDistance() const noexcept
Definition EllipticalArea.cpp:35
std::string mHorizontalAxisUOM
Definition EllipticalArea.hpp:58
Axis
Definition EllipticalArea.hpp:50
std::string mHorizontalAxisDistance
Definition EllipticalArea.hpp:57
bool ParseAndValidate(const Field &aField) override
Definition EllipticalArea.cpp:22
const std::string & GetHorizontalAxisDistance() const noexcept
Definition EllipticalArea.cpp:27
const std::string & GetVerticalAxisUOM() const noexcept
Definition EllipticalArea.cpp:39
const std::string & GetHorizontalAxisUOM() const noexcept
Definition EllipticalArea.cpp:31
std::string mVerticalAxisUOM
Definition EllipticalArea.hpp:60
float mAngleInDegrees
Definition EllipticalArea.hpp:61
float GetAngleFromTrueNorth() const noexcept
Definition EllipticalArea.cpp:43
std::string mVerticalAxisDistance
Definition EllipticalArea.hpp:59
Definition Field.hpp:48
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