VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types
DtAcoParser Class Reference

Class DtAcoParser parses usmtf formatted ACOs–Air Control Orders.

Inheritance diagram for DtAcoParser:
Inheritance graph
[legend]

Classes

struct  CorridorLeg
 
struct  Extrusion
 

Public Member Functions

 DtAcoParser ()
 
virtual ~DtAcoParser () override
 
virtual bool parse (istream &stream) override
 
virtual void initTypeMap (const std::map< std::string, std::string > &importData) override
 
virtual ExtrusionobjectExtrusion ()
 
virtual std::vector
< CorridorLeg > & 
trackLegList ()
 
- Public Member Functions inherited from DtUsmtfParser
 DtUsmtfParser ()
 
virtual ~DtUsmtfParser ()
 
virtual bool init ()
 
- Public Member Functions inherited from DtObjectParser
 DtObjectParser ()
 
 ~DtObjectParser ()
 
virtual bool parseFile (const string &filename)
 
virtual ObjectListgetCreateObjectList ()
 
virtual ObjectEntityTypeMaptypeMap ()
 

Protected Member Functions

ObjectInformationcurrentAcoData ()
 
DtVector getVertex (const string &data)
 
void addVertex (const string &data)
 
void addVertex (const vector< string > &tokens, size_t index)
 
void addVertices (const vector< string > &tokens, size_t startIndex)
 
double parseDistance (const string str)
 
bool parseDateTime (const std::string &tm, ptime &time, const ptime &prevTime)
 
bool parseACMID (const vector< string > &tokens)
 
bool parseGEOLINE (const vector< string > &tokens)
 
bool parsePOLYGON (const vector< string > &tokens)
 
bool parseAPOINT (const vector< string > &tokens)
 
bool parseCIRCLE (const vector< string > &tokens)
 
bool parseCORRIDOR (const vector< string > &tokens)
 
bool parseAORBIT (const vector< string > &tokens)
 
bool parseTRACK (const vector< string > &tokens)
 
bool parseEFFLEVEL (const vector< string > &tokens)
 
bool parseEXER (const vector< string > &tokens)
 
bool parsePOLYARC (const vector< string > &tokens)
 
bool parsePERIOD (const vector< string > &tokens)
 
bool parseTIMEFRAM (const vector< string > &tokens)
 
bool parseAPERIOD (const vector< string > &tokens)
 
bool addLeg (const vector< string > &tokens, size_t startIndex)
 
void updateOrbitVertices (DtVector &firstVertex, DtVector &lastVertex, double width, string alignment)
 
- Protected Member Functions inherited from DtUsmtfParser
void parseLatLonSec (const string &input, double &lat, double &lon, const string &prefix="")
 
void parseLatLonMin (const string &input, double &lat, double &lon, const string &prefix="")
 
void parseLatLonCentiSec (const string &input, double &lat, double &lon, const string &prefix="")
 
void parseLatLonVLATS (const string &input, double &lat, double &lon, const string &prefix="")
 
bool parseDateTime7 (const string &input, const ptime &prevTime, ptime &time, const string &prefix="")
 
bool parseDateTime9 (const string &input, const ptime &prevTime, ptime &time, const string &prefix="")
 
bool parseDateTime10 (const string &input, const time_period &timeFrame, ptime &time, const string &prefix="")
 
bool parseDateTime14 (const string &input, ptime &time, const string &prefix="")
 
bool checkAndAssign (string &sData, const vector< string > &tokens, size_t tokenIndex, const string &prefix="")
 
- Protected Member Functions inherited from DtObjectParser
void setSeparatorData (const string &recordSeparator, const string &fieldSeparators, const string &quoteChars, const string &escapeChars)
 
virtual void clear ()
 

Protected Attributes

std::map< string, EFLVLmyFltLevelMap
 
Extrusion myExtrudedSpecs
 
string myOverlayParent
 
time_period * myTimeFrame
 
std::vector< CorridorLegmyLegList
 
- Protected Attributes inherited from DtObjectParser
ObjectList myCreateObjectList
 
DtTokenizer myTokenizer
 
Coordinate_SystemmyCoordSystem
 
ObjectEntityTypeMap myTypeMap
 

Private Types

enum  SHAPE {
  APOINT = 0, GEOLINE, CORRIDOR, CIRCLE,
  AORBIT, TRACK, POLYGON, POLYARC,
  RADARC
}
 
enum  EFLVL {
  BRRA = 0, BRFL, RARA, RAFL,
  FLFL
}
 
enum  ALT { GL = 0, MSL, FL }
 

Additional Inherited Members

- Static Public Member Functions inherited from DtUsmtfParser
static double calcDegrees (const double &deg, const double &min=0.0, const double &sec=0.0, char hemisphere= '-')
 
static string eraseHead (const string &input, const string &prefix)
 

Member Enumeration Documentation

enum DtAcoParser::SHAPE
private
Enumerator
APOINT 
GEOLINE 
CORRIDOR 
CIRCLE 
AORBIT 
TRACK 
POLYGON 
POLYARC 
RADARC 
enum DtAcoParser::EFLVL
private

What do these mean? Your guess is as good as mine. I only know FL is Flight Level.

Enumerator
BRRA 
BRFL 
RARA 
RAFL 
FLFL 
enum DtAcoParser::ALT
private
Enumerator
GL 
MSL 

Ground Level.

FL 

Mean Sea Level.

Constructor & Destructor Documentation

DtAcoParser::DtAcoParser ( )
virtual DtAcoParser::~DtAcoParser ( )
overridevirtual

Member Function Documentation

virtual bool DtAcoParser::parse ( istream &  stream)
overridevirtual

Derived classes will set up the tokenizer and determine how extract field information for each record.

Reimplemented from DtObjectParser.

virtual void DtAcoParser::initTypeMap ( const std::map< std::string, std::string > &  importData)
overridevirtual

Allows one to map their string names to our entity types.

Reimplemented from DtObjectParser.

virtual Extrusion& DtAcoParser::objectExtrusion ( )
virtual

When creating vrf object will need to determine the altitude of the points For areal objects, add ceiling and floor.

virtual std::vector<CorridorLeg>& DtAcoParser::trackLegList ( )
virtual
ObjectInformation* DtAcoParser::currentAcoData ( )
protected
DtVector DtAcoParser::getVertex ( const string &  data)
protected

Parse teh vertex information.

void DtAcoParser::addVertex ( const string &  data)
protected
void DtAcoParser::addVertex ( const vector< string > &  tokens,
size_t  index 
)
protected
void DtAcoParser::addVertices ( const vector< string > &  tokens,
size_t  startIndex 
)
protected
double DtAcoParser::parseDistance ( const string  str)
protected

Parses a string that contains a distance in an ACO eg. (15NM, 2000KM, 25000M)

bool DtAcoParser::parseDateTime ( const std::string &  tm,
ptime &  time,
const ptime &  prevTime 
)
protected

Parse the date/time based on the length.

bool DtAcoParser::parseACMID ( const vector< string > &  tokens)
protected

parse the Airspace Control Means ID

bool DtAcoParser::parseGEOLINE ( const vector< string > &  tokens)
protected

parse a Geometric Composite Line

bool DtAcoParser::parsePOLYGON ( const vector< string > &  tokens)
protected

parse a Polygon Shape

bool DtAcoParser::parseAPOINT ( const vector< string > &  tokens)
protected

parse a Single Point

bool DtAcoParser::parseCIRCLE ( const vector< string > &  tokens)
protected

parse a Circle

bool DtAcoParser::parseCORRIDOR ( const vector< string > &  tokens)
protected

parse an Air Corridor

bool DtAcoParser::parseAORBIT ( const vector< string > &  tokens)
protected

parse an Airspace shape orbit

bool DtAcoParser::parseTRACK ( const vector< string > &  tokens)
protected

parse a track– this is a different way of expressing a track

bool DtAcoParser::parseEFFLEVEL ( const vector< string > &  tokens)
protected

parse Flight level restrictions

bool DtAcoParser::parseEXER ( const vector< string > &  tokens)
protected

parse name of exerices, this will be come the overlay name

bool DtAcoParser::parsePOLYARC ( const vector< string > &  tokens)
protected
bool DtAcoParser::parsePERIOD ( const vector< string > &  tokens)
protected
bool DtAcoParser::parseTIMEFRAM ( const vector< string > &  tokens)
protected
bool DtAcoParser::parseAPERIOD ( const vector< string > &  tokens)
protected
bool DtAcoParser::addLeg ( const vector< string > &  tokens,
size_t  startIndex 
)
protected
void DtAcoParser::updateOrbitVertices ( DtVector &  firstVertex,
DtVector &  lastVertex,
double  width,
string  alignment 
)
protected

Member Data Documentation

std::map<string, EFLVL> DtAcoParser::myFltLevelMap
protected
Extrusion DtAcoParser::myExtrudedSpecs
protected

This will determine how we transform the vertices based on the EFFLEVEL defined We are only supporting extrusion for areal objects not lines, points, or corridors. Instead for those we shall set the altitude of the points to the max level.

string DtAcoParser::myOverlayParent
protected
time_period* DtAcoParser::myTimeFrame
protected

Time Period that this ATO file represents.

std::vector<CorridorLeg> DtAcoParser::myLegList
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)