WSF
VerifiedLatLonS.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 VERIFIEDLATLONS_HPP
13#define VERIFIEDLATLONS_HPP
14
15#include "usmtf_export.h"
16
17#include <string>
18
19#include "FFIRN_Validator.hpp"
20#include "RegexValidator.hpp"
21#include "UtLLPos.hpp"
22
23// TODO Because this took the new route of Regex, i need to figure out how to consolidate base classes
24// for latlon member re-use.
25namespace usmtf
26{
31class USMTF_EXPORT VerifiedLatLonS : public RegexValidator
32{
33public:
35 bool ParseAndValidate(const Field& aField) override;
36 const std::string& GetLatDegree() const noexcept;
37 const std::string& GetLonDegree() const noexcept;
38 const std::string& GetLatSeconds() const noexcept;
39 const std::string& GetLonSeconds() const noexcept;
40 const std::string& GetLatMinutes() const noexcept;
41 const std::string& GetLonMinutes() const noexcept;
42 const std::string& GetLatHemisphere() const noexcept;
43 const std::string& GetLonHemisphere() const noexcept;
47 const UtLLPos& GetUtLLPos() const noexcept;
48 std::string GetFormattedLatLon() const noexcept;
49 static std::string GetFormattedLatLon(const UtLLPos& position) noexcept;
50
51protected:
52 virtual void SetUtLLPos() noexcept;
55 std::string mLatMinutes;
56 std::string mLonMinutes;
57 std::string mLatSeconds;
58 std::string mLonSeconds;
59 std::string mLatHemisphere;
60 std::string mLonHemisphere;
61 UtLLPos mUtLLPos;
62};
63} // namespace usmtf
64#endif
Definition Field.hpp:48
const std::string & GetLatMinutes() const noexcept
Definition VerifiedLatLonS.cpp:68
std::string mLatHemisphere
Definition VerifiedLatLonS.hpp:59
bool ParseAndValidate(const Field &aField) override
Definition VerifiedLatLonS.cpp:28
virtual void SetUtLLPos() noexcept
Definition VerifiedLatLonS.cpp:107
const std::string & GetLonSeconds() const noexcept
Definition VerifiedLatLonS.cpp:63
std::string mLatMinutes
Definition VerifiedLatLonS.hpp:55
const UtLLPos & GetUtLLPos() const noexcept
Definition VerifiedLatLonS.cpp:88
const std::string & GetLatSeconds() const noexcept
Definition VerifiedLatLonS.cpp:58
std::string mLattitudinalDegree
Definition VerifiedLatLonS.hpp:53
std::string mLongitudinalDegree
Definition VerifiedLatLonS.hpp:54
const std::string & GetLonMinutes() const noexcept
Definition VerifiedLatLonS.cpp:73
std::string mLonHemisphere
Definition VerifiedLatLonS.hpp:60
std::string GetFormattedLatLon() const noexcept
Definition VerifiedLatLonS.cpp:93
std::string mLatSeconds
Definition VerifiedLatLonS.hpp:57
const std::string & GetLonHemisphere() const noexcept
Definition VerifiedLatLonS.cpp:83
std::string mLonMinutes
Definition VerifiedLatLonS.hpp:56
VerifiedLatLonS()
Definition VerifiedLatLonS.cpp:19
const std::string & GetLatDegree() const noexcept
Definition VerifiedLatLonS.cpp:48
const std::string & GetLatHemisphere() const noexcept
Definition VerifiedLatLonS.cpp:78
UtLLPos mUtLLPos
Definition VerifiedLatLonS.hpp:61
const std::string & GetLonDegree() const noexcept
Definition VerifiedLatLonS.cpp:53
std::string mLonSeconds
Definition VerifiedLatLonS.hpp:58
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved