VR-Forces 4.10 Class Documentation
 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. More...

Inheritance diagram for DtAcoParser:
Inheritance graph
[legend]

Classes

struct  CorridorLeg
 
struct  Extrusion
 

Public Member Functions

 DtAcoParser ()
 
 ~DtAcoParser ()
 
virtual bool parse (istream &stream)
 Derived classes will set up the tokenizer and determine how extract field information for each record. More...
 
virtual void initTypeMap (const std::map< std::string, std::string > &importData)
 Allows one to map their string names to our entity types. More...
 
virtual ExtrusionobjectExtrusion ()
 When creating vrf object will need to determine the altitude of the points For areal objects, add ceiling and floor. More...
 
virtual std::vector
< CorridorLeg > & 
trackLegList ()
 
- Public Member Functions inherited from DtUsmtfParser
 DtUsmtfParser ()
 
virtual ~DtUsmtfParser ()
 
virtual bool init ()
 static function used to read in some csv files used during parsing More...
 
- Public Member Functions inherited from DtObjectParser
 DtObjectParser ()
 
 ~DtObjectParser ()
 
virtual bool parseFile (const string &filename)
 Pass in the file to parse, creates an istream and calls parse on it. More...
 
virtual ObjectListgetCreateObjectList ()
 Gets a vector containing all of the import objects that were created during parsing. More...
 
virtual ObjectEntityTypeMaptypeMap ()
 

Protected Member Functions

ObjectInformationcurrentAcoData ()
 
DtVector getVertex (const string &data)
 Parse teh vertex information. More...
 
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)
 Parses a string that contains a distance in an ACO eg. More...
 
bool parseACMID (const vector< string > &tokens)
 parse the Airspace Control Means ID More...
 
bool parseGEOLINE (const vector< string > &tokens)
 parse a Geometric Composite Line More...
 
bool parsePOLYGON (const vector< string > &tokens)
 parse a Polygon Shape More...
 
bool parseAPOINT (const vector< string > &tokens)
 parse a Single Point More...
 
bool parseCIRCLE (const vector< string > &tokens)
 parse a Circle More...
 
bool parseCORRIDOR (const vector< string > &tokens)
 parse an Air Corridor More...
 
bool parseAORBIT (const vector< string > &tokens)
 parse an Airspace shape orbit More...
 
bool parseTRACK (const vector< string > &tokens)
 parse a track– this is a different way of expressing a track More...
 
bool parseEFFLEVEL (const vector< string > &tokens)
 parse Flight level restrictions More...
 
bool parseEXER (const vector< string > &tokens)
 parse name of exerices, this will be come the overlay name More...
 
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="")
 Convert LATM, LATS, and DMPID into degreess. More...
 
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="")
 Parses the date and time from the 7 character date format in the ATO It uses the "prevTime" to determine the month and year since it is not part of the 7 character date format. More...
 
bool parseDateTime9 (const string &input, const ptime &prevTime, ptime &time, const string &prefix="")
 Parses the date and time from the 9 character date format in the ATO It uses the "prevTime" to determine the month and year since it is not part of the 9 character date format. More...
 
bool parseDateTime10 (const string &input, const time_period &timeFrame, ptime &time, const string &prefix="")
 Parses the date and time from the 10 character date format in the ATO using the timeFrame to figure out the year (because the year is not part of the 10 char date format. More...
 
bool parseDateTime14 (const string &input, ptime &time, const string &prefix="")
 Parses the date and time from the 14 character date format in the ATO. More...
 
bool checkAndAssign (string &sData, const vector< string > &tokens, size_t tokenIndex, const string &prefix="")
 !Checks to make sure the token index is within the bounds of the tokens vector and if so !assigns the token to the string passed in. More...
 
- Protected Member Functions inherited from DtObjectParser
void setSeparatorData (const string &recordSeparator, const string &fieldSeparators, const string &quoteChars, const string &escapeChars)
 Define how the each creation record and its fields are delimited. More...
 
virtual void clear ()
 cleans up the object, called from DTor and before parsing More...
 

Protected Attributes

std::map< string, EFLVLmyFltLevelMap
 
Extrusion myExtrudedSpecs
 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. More...
 
string myOverlayParent
 
time_period * myTimeFrame
 Time Period that this ATO file represents. More...
 
std::vector< CorridorLegmyLegList
 
- Protected Attributes inherited from DtObjectParser
ObjectList myCreateObjectList
 vector to keep track of all of the Aco Data that we have parsed More...
 
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
}
 What do these mean? Your guess is as good as mine. I only know FL is Flight Level. More...
 
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 functions used to access some data used during parsing More...
 
static string eraseHead (const string &input, const string &prefix)
 If the input starts with prefix, it will be erased and returned. More...
 

Detailed Description

Class DtAcoParser parses usmtf formatted ACOs–Air Control Orders.

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 ( )
DtAcoParser::~DtAcoParser ( )

Member Function Documentation

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

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)
virtual

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::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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)