WSF
TrackWidth.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 TRACKWIDTH_HPP
13#define TRACKWIDTH_HPP
14
15#include "usmtf_export.h"
16
17#include <memory>
18#include <string>
19
20#include "FFIRN_Validator.hpp"
21#include "Radius.hpp"
22
23namespace usmtf
24{
36
37class USMTF_EXPORT TrackWidth : public FFIRN_Validator
38{
39public:
40 TrackWidth() = default;
41 const Radius* GetLeftRadius() const noexcept;
42 const Radius* GetRightRadius() const noexcept;
43 bool ParseAndValidate(const Field& aField) override;
44
45protected:
46 bool IsValidTrackWidth() noexcept;
47 std::unique_ptr<Radius> mLeftRadius;
48 std::unique_ptr<Radius> mRightRadius;
49};
50} // namespace usmtf
51#endif
Definition Field.hpp:48
USMTF Excerpt:
Definition Radius.hpp:44
TrackWidth()=default
bool IsValidTrackWidth() noexcept
Definition TrackWidth.cpp:35
const Radius * GetRightRadius() const noexcept
Definition TrackWidth.cpp:30
std::unique_ptr< Radius > mRightRadius
Definition TrackWidth.hpp:48
bool ParseAndValidate(const Field &aField) override
Definition TrackWidth.cpp:19
std::unique_ptr< Radius > mLeftRadius
Definition TrackWidth.hpp:47
const Radius * GetLeftRadius() const noexcept
Definition TrackWidth.cpp:25
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