VR-Forces 5.0.2 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 "usmtfParser.h"
13 #include <matrix/vlVector.h>
14 
15 
16 #include "vrfutil/vrfutilDefines.h"
18 {
19 
20  enum SHAPE
21  {
22  APOINT = 0,
30  RADARC
31  };
32 
34  enum EFLVL
35  {
36  BRRA = 0,
40  FLFL
41  };
42 
43  enum ALT
44  {
45  GL = 0,
46  MSL,
47  FL //Flight Level
48  };
49 
50  struct Extrusion
51  {
54  double myFloor;
56  double myCeiling;
57  };
58 
59  struct CorridorLeg
60  {
63  double myWidth;
64  double myHeight;
65  };
66 
67 public:
68  DtAcoParser();
69 public:
70  ~DtAcoParser();
71 
72 public:
73 
74  virtual bool parse( istream& stream );
75 
76  virtual void initTypeMap(const std::map<std::string, std::string>& importData);
77 
80  virtual Extrusion& objectExtrusion();
81  virtual std::vector<CorridorLeg>& trackLegList();
82 
83 protected:
84 
85  ObjectInformation* currentAcoData();
86 
88  DtVector getVertex(const string& data);
89 
90  void addVertex( const string& data );
91  void addVertex( const vector<string>& tokens, size_t index );
92  void addVertices( const vector<string>& tokens, size_t startIndex );
93 
96  double parseDistance( const string str );
97 
98 
100  bool parseDateTime(const std::string& tm, ptime& time, const ptime& prevTime);
101 
103  bool parseACMID( const vector<string>& tokens );
105  bool parseGEOLINE( const vector<string>& tokens );
107  bool parsePOLYGON( const vector<string>& tokens );
109  bool parseAPOINT( const vector<string>& tokens );
111  bool parseCIRCLE( const vector<string>& tokens );
113  bool parseCORRIDOR( const vector<string>& tokens );
115  bool parseAORBIT( const vector<string>& tokens );
117  bool parseTRACK(const vector<string>& tokens);
119  bool parseEFFLEVEL(const vector<string>& tokens);
121  bool parseEXER(const vector<string>& tokens);
122  bool parsePOLYARC(const vector<string>& tokens);
123  bool parsePERIOD(const vector<string>& tokens);
124  bool parseTIMEFRAM(const vector<string>& tokens);
125  bool parseAPERIOD(const vector<string>& tokens);
126 
127  bool addLeg(const vector<string>& tokens, size_t startIndex);
128  void updateOrbitVertices( DtVector& firstVertex, DtVector& lastVertex, double width, string alignment );
129 
130 protected:
131 
132  std::map<string, EFLVL> myFltLevelMap;
139  time_period* myTimeFrame;
140  std::vector<CorridorLeg> myLegList;
141 };
142 
SHAPE
Definition: acoParser.h:20
USMTF parser Has been used with USMTF 2004 Baseline.
Definition: usmtfParser.h:32
Definition: acoParser.h:27
Extrusion myExtrudedSpecs
This will determine how we transform the vertices based on the EFFLEVEL defined We are only supportin...
Definition: acoParser.h:136
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:52
Definition: acoParser.h:25
Definition: acoParser.h:59
time_period * myTimeFrame
Time Period that this ATO file represents.
Definition: acoParser.h:139
Definition: acoParser.h:24
double myCeiling
Definition: acoParser.h:56
std::vector< CorridorLeg > myLegList
Definition: acoParser.h:140
Definition: acoParser.h:29
Class DtObjectParser is an abstract parser that can be configured to parse object creation informatio...
Definition: createObjectParser.h:21
Ground Level.
Definition: acoParser.h:46
Definition: acoParser.h:28
double myFloor
Definition: acoParser.h:54
string myOverlayParent
Definition: acoParser.h:137
Definition: acoParser.h:50
Definition: acoParser.h:23
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:39
DtVector myStart
Definition: acoParser.h:61
voidpf stream
Definition: ioapi.h:39
Class DtAcoParser parses usmtf formatted ACOs–Air Control Orders.
Definition: acoParser.h:17
ALT myFloorAltitudeType
Definition: acoParser.h:53
double myWidth
Definition: acoParser.h:63
ALT
Definition: acoParser.h:43
Definition: acoParser.h:38
Definition: acoParser.h:26
#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:34
Definition: acoParser.h:37
std::map< string, EFLVL > myFltLevelMap
Definition: acoParser.h:132
DtVector myEnd
Definition: acoParser.h:62
ALT myCeilingAltitudeType
Definition: acoParser.h:55
double myHeight
Definition: acoParser.h:64

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)