VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
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 
DtBuoyBeaconModelStringParser creator.
Definition: DtBuoyBeaconModelStringParser.h:224
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DefaultMap myDefaultNames
Definition: DtBuoyBeaconModelStringParser.h:197
std::string unlit
Definition: DtBuoyBeaconModelStringParser.h:130
ParsedAttributeValueMap myAttributeValueResultsMap
Definition: DtBuoyBeaconModelStringParser.h:190
DefaultMap myDefaultModelDefinitions
Definition: DtBuoyBeaconModelStringParser.h:196
std::string myBeaconUnnamedIcon
Definition: DtBuoyBeaconModelStringParser.h:217
BuoySymbols myBuoyDefaultIcons
Definition: DtBuoyBeaconModelStringParser.h:213
BeaconIconByColorMap myBeaconIconByColorMap
Definition: DtBuoyBeaconModelStringParser.h:215
bool myIsMulticolored
Definition: DtBuoyBeaconModelStringParser.h:203
std::string myBeaconLitIcon
Definition: DtBuoyBeaconModelStringParser.h:216
boost::unordered_map< std::string, std::string > ModelDefsByNameMap
This type defines a map from a specific buoy name to the model definition requested for it...
Definition: DtBuoyBeaconModelStringParser.h:71
boost::unordered_set< std::string > DesignatorAcceptSet
Definition: DtBuoyBeaconModelStringParser.h:199
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
2D Icon methods
Definition: DtBuoyBeaconModelStringParser.h:127
ModelDefsByNameMap myModelDefsByNameMap
Definition: DtBuoyBeaconModelStringParser.h:191
The DtBuoyBeaconModelStringParser parses the buoy attributes found in the strings used by streamed bu...
Definition: DtBuoyBeaconModelStringParser.h:56
std::string lit
Definition: DtBuoyBeaconModelStringParser.h:129
std::string myBeaconNamedIcon
Definition: DtBuoyBeaconModelStringParser.h:218
BuoySymbols myBuoyMulticoloredIcons
Definition: DtBuoyBeaconModelStringParser.h:212
std::string myDesignatorString
Definition: DtBuoyBeaconModelStringParser.h:194
boost::unordered_map< std::string, std::string > ParsedAttributeValueMap
This type defines a map from attribute name to the value we parsed for it.
Definition: DtBuoyBeaconModelStringParser.h:66
AttributeEnumerationMap myAttributeEnumerationMap
Definition: DtBuoyBeaconModelStringParser.h:189
std::string myBuildPatternString
Definition: DtBuoyBeaconModelStringParser.h:193
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
boost::unordered_map< std::string, std::string > DefaultMap
Definition: DtBuoyBeaconModelStringParser.h:195
boost::unordered_map< std::string, BuoySymbols > BuoyIconsByColorMap
Definition: DtBuoyBeaconModelStringParser.h:206
DesignatorAcceptSet myDesignatorAcceptSet
Definition: DtBuoyBeaconModelStringParser.h:200
boost::unordered_map< std::string, std::string > BeaconIconByColorMap
Definition: DtBuoyBeaconModelStringParser.h:209
BuoyIconsByColorMap myBuoyIconsByColorMap
Definition: DtBuoyBeaconModelStringParser.h:211
boost::unordered_map< std::string, std::vector< std::string > > AttributeEnumerationMap
This is what is read from the importConfig file - attribute names with a vector of strings for each e...
Definition: DtBuoyBeaconModelStringParser.h:176
Contains DLL export macros.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)