VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtBuoyBeaconModelStringParser.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
16 #include <boost/unordered_map.hpp>
17 #include <boost/unordered_set.hpp>
18 
19 #include <string>
20 #include <list>
21 #include <vector>
22 
23 namespace makVrv
24 {
25 
57  {
58  public:
62 
65  typedef boost::unordered_map< std::string, std::string>
67 
70  typedef boost::unordered_map< std::string, std::string>
72 
75 
78  virtual bool readEnumMappingFile( const std::string& path,
79  const std::string& enumMappingsFileName );
80 
83  virtual bool readModelDefsByNameFile( const std::string& path,
84  const std::string& modelDefsFileName );
85 
88  virtual bool readDefaultsFile( const std::string& path,
89  const std::string& defaultsFileName );
90 
94  virtual void parse( const std::string& stringToParse );
95 
98  const std::string& attributeValue( const std::string& attrName ) const;
99 
101  const std::string& buildPattern() const;
102 
104  const std::string& designator() const;
105 
107  const std::string& defaultModelDefinition(
108  const std::string& featureClass ) const;
109 
111  const std::string& defaultName( const std::string& featureClass ) const;
112 
115  const ParsedAttributeValueMap& results() const;
116 
120  const ModelDefsByNameMap& modelDefsByName() const;
121 
123 
124 
127  typedef struct buoySymbols
128  {
129  std::string lit;
130  std::string unlit;
131  } BuoySymbols;
132 
135  virtual bool readIconMappingFile( const std::string& path,
136  const std::string& iconMappingFileName );
137 
139  bool isMulticolored() const;
140 
142  BuoySymbols buoyIconsByColor( const std::string& color ) const;
143 
146  BuoySymbols buoyMulticoloredIcons() const;
147 
150  BuoySymbols buoyDefaultIcons() const;
151 
153  std::string beaconLitIcon() const;
154 
156  std::string beaconIconByColor( const std::string& color ) const;
157 
160  std::string beaconUnnamedIcon() const;
161 
164  std::string beaconNamedIcon() const;
165 
167 
168  protected:
169 
172 
175  typedef boost::unordered_map< std::string, std::vector<std::string> >
177 
179  void getAttributeValue( const std::string& attr,
180  const std::string& valueString );
181 
183  void createDesignatorString();
184 
186  void clearParseResultStrings();
187 
188  protected:
192 
193  std::string myBuildPatternString;
194  std::string myDesignatorString;
195  typedef boost::unordered_map<std::string, std::string> DefaultMap;
198 
199  typedef boost::unordered_set<std::string> DesignatorAcceptSet;
201 
202  // These are used for determining 2D Icons
204 
205  typedef boost::unordered_map< std::string, BuoySymbols>
207 
208  typedef boost::unordered_map< std::string, std::string>
210 
214 
216  std::string myBeaconLitIcon;
217  std::string myBeaconUnnamedIcon;
218  std::string myBeaconNamedIcon;
219  };
220 
221 
225  {
226 
227  public:
229  static DtBuoyBeaconModelStringParserCreator& instance( DtDe& de );
230 
232  static void registerInstance( DtDe& de, DtBuoyBeaconModelStringParserCreator* anInstance );
233 
235  virtual DtBuoyBeaconModelStringParser* create();
236  };
237 
238 }
239 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)