WSF
usmtf::Aco Class Reference

#include <Aco.hpp>

Inheritance diagram for usmtf::Aco:
Collaboration diagram for usmtf::Aco:

Public Member Functions

 Aco (const std::string &aMTF, std::vector< std::unique_ptr< Set > > &&aSets) noexcept
std::vector< const Zone * > GetZones () const noexcept
 Get the zones that are extracted from the parsed ACO.
const CommentGetHeader () const noexcept
 Get other relevant sets that are not zones but are useful as comments for Scenario Designers.
Public Member Functions inherited from usmtf::Message
 Message (const std::string &aMTF, std::vector< std::unique_ptr< Set > > aSets) noexcept
 Message (const Message &)=delete
Messageoperator= (const Message &)=delete
virtual ~Message ()=default
const std::string & GetType () const noexcept
 Get the Type of the Message.
const SetGetSet (Segment::SetPosition aSetIndex) const
 Retrieve a Set at a given index.
Segment::SetLocations GetSets (const std::string &aSTF) const noexcept
 Get all Sets that match the given set type.
Segment::SetLocations GetSets (const std::vector< std::string > &aSTF) const noexcept
 Get all Sets that match any of the given set type.
Segment GetSegment (const Segment::SetPosition &startPosition, const Segment::SetPosition &stopPosition) const
 Retrieve a grouping of sets by given start and end positions.
std::vector< SegmentGetSegments (const std::string &aSTF) const
size_t GetNumberOfSets () const noexcept
 Number of sets in the Message.
bool IsEmpty () const noexcept
 Tells you if the Message doesn't contain Sets.
Public Member Functions inherited from usmtf::Validatable
bool IsValid () const noexcept
Public Member Functions inherited from usmtf::ErrorManager
virtual ~ErrorManager ()=default
bool HasErrors () const noexcept
void LogErrors (std::ostream &aOut) const noexcept
const std::vector< ValidationError > & GetErrors () const

Additional Inherited Members

Protected Member Functions inherited from usmtf::Message
bool IsSetPositionOutOfBounds (const Segment::SetPosition &aPos) const noexcept
Protected Member Functions inherited from usmtf::ErrorManager
void AddError (const ValidationError &aError) noexcept
void AddError (const std::string &aFailureReason, const std::string &aValueValidatied, const std::string &aOptionalSuggestion="") noexcept
void AddError (const std::string &aErrorMessage) noexcept
void AddErrors (const std::vector< ValidationError > &aErrors) noexcept
void ClearErrors () noexcept
Protected Attributes inherited from usmtf::Message
const std::string mMessageTextFormat
std::vector< std::unique_ptr< Set > > mSets

Detailed Description

USMTF Excerpt: PURPOSE: THE ACO IS USED TO PROVIDE SPECIFIC DETAILED ORDERS FOR AIRSPACE MANAGEMENT AND CONTROL FROM A HIGHER COMMAND TO SUBORDINATE UNITS. GENERAL INSTRUCTIONS: THE ACO DEFINES AND ESTABLISHES SPECIAL PURPOSE AIRSPACE FOR MILITARY OPERATIONS AS DEEMED NECESSARY BY THE APPROPRIATE MILITARY AUTHORITY. IT NOTIFIES ALL AGENCIES OF THE EFFECTIVE TIME OF ACTIVATION AND THE COMPOSITE STRUCTURE OF THE AIRSPACE TO BE USED. THE ACO MAY INCLUDE AIR ROUTES, BASE DEFENSE ZONES, COORDINATING MEASURES/LINES, DROP ZONES, PICKUP POINTS, RESTRICTED AREAS, ETC. ZONES MAY BE DEFINED AS A CIRCLE, CORRIDOR, POLYARC, RADARC, LINE, POINT, TRACK, ORBIT, OR POLYGON. IF A NEW AREA IS ESTABLISHED OR AN EXISTING AREA DELETED, A NEW MESSAGE SHOULD BE SENT.

Programmer Commentary: For our purposes the Air Control Order (ACO) Message describes zones used for AFSIM Scenario lay down. The details of each zone are indicated by separate segments started by the presence of an ACMID set. For many more examples see tests/message_examples/Aco.txt

Example Segment that creates a Corridor Zone named B2 ACMID/ACM:ATC/DESIG:B2/CORRIDOR/USE:CLSB// CORRIDOR/5NM/LATM:3500N07900W/LATM:3530N07000W/LATM:3530N06500W// EFFLEVEL/FLFL:FL180-FL220//

Detailed Document: ACO.UF.RTF

Constructor & Destructor Documentation

◆ Aco()

usmtf::Aco::Aco ( const std::string & aMTF,
std::vector< std::unique_ptr< Set > > && aSets )
noexcept

Member Function Documentation

◆ GetHeader()

const Comment * usmtf::Aco::GetHeader ( ) const
noexcept

Get other relevant sets that are not zones but are useful as comments for Scenario Designers.

Referenced by usmtf::ExportAco().

◆ GetZones()

std::vector< const Zone * > usmtf::Aco::GetZones ( ) const
noexcept

Get the zones that are extracted from the parsed ACO.

Referenced by usmtf::ExportAco().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved