VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
acoParser.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
9 
10 #pragma once
11 
12 #include "vrfutil/vrfutilDefines.h"
13 #include "vrfutil/usmtfParser.h"
14 #include <matrix/vlVector.h>
15 
17 {
18 
19  enum SHAPE
20  {
21  APOINT = 0,
29  RADARC
30  };
31 
33  enum EFLVL
34  {
35  BRRA = 0,
39  FLFL
40  };
41 
42  enum ALT
43  {
44  GL = 0,
45  MSL,
46  FL //Flight Level
47  };
48 
49  struct Extrusion
50  {
53  double myFloor;
55  double myCeiling;
56  };
57 
58  struct CorridorLeg
59  {
62  double myWidth;
63  double myHeight;
64  };
65 
66 public:
67  DtAcoParser();
68 public:
69  ~DtAcoParser();
70 
71 public:
72 
73  virtual bool parse( istream& stream );
74 
75  virtual void initTypeMap(const std::map<std::string, std::string>& importData);
76 
79  virtual Extrusion& objectExtrusion();
80  virtual std::vector<CorridorLeg>& trackLegList();
81 
82 protected:
83 
84  ObjectInformation* currentAcoData();
85 
87  DtVector getVertex(const string& data);
88 
89  void addVertex( const string& data );
90  void addVertex( const vector<string>& tokens, size_t index );
91  void addVertices( const vector<string>& tokens, size_t startIndex );
92 
95  double parseDistance( const string str );
96 
97 
99  bool parseDateTime(const std::string& tm, ptime& time, const ptime& prevTime);
100 
102  bool parseACMID( const vector<string>& tokens );
104  bool parseGEOLINE( const vector<string>& tokens );
106  bool parsePOLYGON( const vector<string>& tokens );
108  bool parseAPOINT( const vector<string>& tokens );
110  bool parseCIRCLE( const vector<string>& tokens );
112  bool parseCORRIDOR( const vector<string>& tokens );
114  bool parseAORBIT( const vector<string>& tokens );
116  bool parseTRACK(const vector<string>& tokens);
118  bool parseEFFLEVEL(const vector<string>& tokens);
120  bool parseEXER(const vector<string>& tokens);
121  bool parsePOLYARC(const vector<string>& tokens);
122  bool parsePERIOD(const vector<string>& tokens);
123  bool parseTIMEFRAM(const vector<string>& tokens);
124  bool parseAPERIOD(const vector<string>& tokens);
125 
126  bool addLeg(const vector<string>& tokens, size_t startIndex);
127  void updateOrbitVertices( DtVector& firstVertex, DtVector& lastVertex, double width, string alignment );
128 
129 protected:
130 
131  std::map<string, EFLVL> myFltLevelMap;
138  time_period* myTimeFrame;
139  std::vector<CorridorLeg> myLegList;
140 };
141 
SHAPE
Definition: acoParser.h:19
USMTF parser Has been used with USMTF 2004 Baseline.
Definition: usmtfParser.h:31
Definition: acoParser.h:26
Extrusion myExtrudedSpecs
This will determine how we transform the vertices based on the EFFLEVEL defined We are only supportin...
Definition: acoParser.h:135
virtual void initTypeMap(const std::map< std::string, std::string > &importData)
Allows one to map their string names to our entity types.
SHAPE myCurrentShape
Definition: acoParser.h:51
Definition: acoParser.h:24
Definition: acoParser.h:58
time_period * myTimeFrame
Time Period that this ATO file represents.
Definition: acoParser.h:138
Definition: acoParser.h:23
double myCeiling
Definition: acoParser.h:55
std::vector< CorridorLeg > myLegList
Definition: acoParser.h:139
Definition: acoParser.h:28
Class DtObjectParser is an abstract parser that can be configured to parse object creation informatio...
Definition: createObjectParser.h:22
Ground Level.
Definition: acoParser.h:45
Definition: acoParser.h:27
double myFloor
Definition: acoParser.h:53
string myOverlayParent
Definition: acoParser.h:136
Definition: acoParser.h:49
Definition: acoParser.h:22
virtual bool parse(istream &stream)
Derived classes will set up the tokenizer and determine how extract field information for each record...
Definition: createObjectParser.h:60
Definition: acoParser.h:38
DtVector myStart
Definition: acoParser.h:60
voidpf stream
Definition: ioapi.h:39
Class DtAcoParser parses usmtf formatted ACOs–Air Control Orders.
Definition: acoParser.h:16
ALT myFloorAltitudeType
Definition: acoParser.h:52
double myWidth
Definition: acoParser.h:62
ALT
Definition: acoParser.h:42
Definition: acoParser.h:37
Definition: acoParser.h:25
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
EFLVL
What do these mean? Your guess is as good as mine. I only know FL is Flight Level.
Definition: acoParser.h:33
Definition: acoParser.h:36
std::map< string, EFLVL > myFltLevelMap
Definition: acoParser.h:131
DtVector myEnd
Definition: acoParser.h:61
ALT myCeilingAltitudeType
Definition: acoParser.h:54
double myHeight
Definition: acoParser.h:63

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)