WSF
PolygonalZone.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 POLYGONALZONE_HPP
13#define POLYGONALZONE_HPP
14
15#include "Corridor.hpp"
16#include "Geoline.hpp"
17#include "Polygon.hpp"
18#include "Zone.hpp"
19
20namespace usmtf
21{
24
31class PolygonalZone final : public Zone
32{
33public:
34 PolygonalZone(const std::string& aCircularZoneType, const Segment& aSegment) noexcept;
35 InputBlock GetInputBlock() const override;
36
37private:
38 InputBlock GetPolygonInputBlock() const;
39 InputBlock GetCorridorInputBlock() const;
40 InputBlock GetLineInputBlock() const;
41 InputBlock BuildWall(const std::vector<LatLon>& positions, double widthInMeters) const;
42 const Acmid* mAcmid;
43 const APeriod* mAperiod;
44 const Efflevel* mEfflevel;
45 const Corridor* mCorridor;
46 const Polygon* mPolygon;
47 const Geoline* mGeoline;
48 const std::string mPolygonalZoneType;
49};
50} // namespace usmtf
51
52#endif
Definition APeriod.hpp:41
Definition Acmid.hpp:41
Definition Corridor.hpp:50
Definition Efflevel.hpp:39
Definition Geoline.hpp:45
Definition InputBlock.hpp:39
Definition Polygon.hpp:51
InputBlock GetInputBlock() const override
Definition PolygonalZone.cpp:44
PolygonalZone(const std::string &aCircularZoneType, const Segment &aSegment) noexcept
Definition PolygonalZone.cpp:21
Definition Segment.hpp:30
Zone(const Segment &aSegment) noexcept
Definition usmtf/source/Zone.cpp:19
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved