WSF
UTM_Location.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 UTMLOCATION_HPP
13#define UTMLOCATION_HPP
14
15#include "usmtf_export.h"
16
17#include <string>
18
19#include "FFIRN_Validator.hpp"
20#include "Field.hpp"
21#include "RegexValidator.hpp"
22#include "UtLLPos.hpp"
23
24namespace usmtf
25{
27
28
31
83
84class USMTF_EXPORT UTM_Location : public RegexValidator
85{
86public:
88 bool ParseAndValidate(const Field& aField) override;
89 const std::string& GetZoneColumn() const noexcept;
90 const std::string& GetZoneRow() const noexcept;
91 const std::string& GetSquareColumn() const noexcept;
92 const std::string& GetSquareRow() const noexcept;
93 const std::string& GetEasting() const noexcept;
94 const std::string& GetNorthing() const noexcept;
95 int GetEastingInMeters() const noexcept;
96 int GetNorthingInMeters() const noexcept;
97 const std::string GetFormattedLocation() const noexcept;
98
99protected:
100 UtLLPos ConvertToLLPos() const noexcept;
101 std::string mZoneColumn;
102 std::string mZoneRow;
103 std::string mSquareColumn;
104 std::string mSquareRow;
105 std::string mEasting;
106 std::string mNorthing;
107};
108} // namespace usmtf
109#endif
Definition Field.hpp:48
UTM_Location()
Definition UTM_Location.cpp:24
std::string mSquareRow
Definition UTM_Location.hpp:104
const std::string & GetEasting() const noexcept
Definition UTM_Location.cpp:70
const std::string & GetZoneRow() const noexcept
Definition UTM_Location.cpp:55
std::string mZoneRow
Definition UTM_Location.hpp:102
std::string mSquareColumn
Definition UTM_Location.hpp:103
int GetEastingInMeters() const noexcept
Definition UTM_Location.cpp:80
const std::string & GetSquareColumn() const noexcept
Definition UTM_Location.cpp:60
bool ParseAndValidate(const Field &aField) override
Definition UTM_Location.cpp:34
std::string mZoneColumn
Definition UTM_Location.hpp:101
const std::string GetFormattedLocation() const noexcept
Definition UTM_Location.cpp:116
const std::string & GetNorthing() const noexcept
Definition UTM_Location.cpp:75
std::string mEasting
Definition UTM_Location.hpp:105
std::string mNorthing
Definition UTM_Location.hpp:106
const std::string & GetZoneColumn() const noexcept
Definition UTM_Location.cpp:50
UtLLPos ConvertToLLPos() const noexcept
Definition UTM_Location.cpp:121
int GetNorthingInMeters() const noexcept
Definition UTM_Location.cpp:98
const std::string & GetSquareRow() const noexcept
Definition UTM_Location.cpp:65
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved