VR-Forces 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) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
15 
16 #include <unordered_map>
17 #include <unordered_set>
18 
19 #include <string>
20 #include <list>
21 #include <vector>
22 
23 namespace makVrv
24 {
25 
28 
31 
33  template <>
34  inline const char* creatorTypeName<DtBuoyBeaconModelStringParser>(void) { return "DtBuoyBeaconModelStringParserCreator"; }
35 
67  {
68  public:
72 
75  typedef std::unordered_map< std::string, std::string>
77 
80  typedef std::unordered_map< std::string, std::string>
82 
85 
88  virtual bool readEnumMappingFile( const std::string& path,
89  const std::string& enumMappingsFileName );
90 
93  virtual bool readModelDefsByNameFile( const std::string& path,
94  const std::string& modelDefsFileName );
95 
98  virtual bool readDefaultsFile( const std::string& path,
99  const std::string& defaultsFileName );
100 
104  virtual void parse( const std::string& stringToParse );
105 
108  const std::string& attributeValue( const std::string& attrName ) const;
109 
111  const std::string& buildPattern() const;
112 
114  const std::string& designator() const;
115 
117  const std::string& defaultModelDefinition(
118  const std::string& featureClass ) const;
119 
121  const std::string& defaultName( const std::string& featureClass ) const;
122 
125  const ParsedAttributeValueMap& results() const;
126 
130  const ModelDefsByNameMap& modelDefsByName() const;
131 
133 
137  typedef struct buoySymbols
138  {
139  std::string lit;
140  std::string unlit;
141  } BuoySymbols;
142 
145  virtual bool readIconMappingFile( const std::string& path,
146  const std::string& iconMappingFileName );
147 
149  bool isMulticolored() const;
150 
152  BuoySymbols buoyIconsByColor( const std::string& color ) const;
153 
156  BuoySymbols buoyMulticoloredIcons() const;
157 
160  BuoySymbols buoyDefaultIcons() const;
161 
163  std::string beaconLitIcon() const;
164 
166  std::string beaconIconByColor( const std::string& color ) const;
167 
170  std::string beaconUnnamedIcon() const;
171 
174  std::string beaconNamedIcon() const;
175 
177 
178  protected:
179 
182 
185  typedef std::unordered_map< std::string, std::vector<std::string> >
187 
189  void getAttributeValue( const std::string& attr,
190  const std::string& valueString );
191 
193  void createDesignatorString();
194 
196  void clearParseResultStrings();
197 
198  protected:
202 
203  std::string myBuildPatternString;
204  std::string myDesignatorString;
205  typedef std::unordered_map<std::string, std::string> DefaultMap;
208 
209  typedef std::unordered_set<std::string> DesignatorAcceptSet;
211 
212  // These are used for determining 2D Icons
214 
215  typedef std::unordered_map< std::string, BuoySymbols>
217 
218  typedef std::unordered_map< std::string, std::string>
220 
224 
226  std::string myBeaconLitIcon;
227  std::string myBeaconUnnamedIcon;
228  std::string myBeaconNamedIcon;
229  };
230 }
231 
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:207
std::unordered_set< std::string > DesignatorAcceptSet
Definition: DtBuoyBeaconModelStringParser.h:209
const char * creatorTypeName< DtBuoyBeaconModelStringParser >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtBuoyBeaconModelStringParser.h:34
std::string unlit
Definition: DtBuoyBeaconModelStringParser.h:140
ParsedAttributeValueMap myAttributeValueResultsMap
Definition: DtBuoyBeaconModelStringParser.h:200
friend DtBuoyBeaconModelStringParserCreator
Instances of DtBuoyBeaconModelStringParser must be created through the creator function.
Definition: DtBuoyBeaconModelStringParser.h:71
std::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:76
DefaultMap myDefaultModelDefinitions
Definition: DtBuoyBeaconModelStringParser.h:206
std::string myBeaconUnnamedIcon
Definition: DtBuoyBeaconModelStringParser.h:227
BuoySymbols myBuoyDefaultIcons
Definition: DtBuoyBeaconModelStringParser.h:223
BeaconIconByColorMap myBeaconIconByColorMap
Definition: DtBuoyBeaconModelStringParser.h:225
std::unordered_map< std::string, std::string > DefaultMap
Definition: DtBuoyBeaconModelStringParser.h:205
bool myIsMulticolored
Definition: DtBuoyBeaconModelStringParser.h:213
std::string myBeaconLitIcon
Definition: DtBuoyBeaconModelStringParser.h:226
std::unordered_map< std::string, std::string > BeaconIconByColorMap
Definition: DtBuoyBeaconModelStringParser.h:219
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
std::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:81
std::unordered_map< std::string, BuoySymbols > BuoyIconsByColorMap
Definition: DtBuoyBeaconModelStringParser.h:216
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
2D Icon methods
Definition: DtBuoyBeaconModelStringParser.h:137
ModelDefsByNameMap myModelDefsByNameMap
Definition: DtBuoyBeaconModelStringParser.h:201
The DtBuoyBeaconModelStringParser parses the buoy attributes found in the strings used by streamed bu...
Definition: DtBuoyBeaconModelStringParser.h:66
std::string lit
Definition: DtBuoyBeaconModelStringParser.h:139
std::string myBeaconNamedIcon
Definition: DtBuoyBeaconModelStringParser.h:228
BuoySymbols myBuoyMulticoloredIcons
Definition: DtBuoyBeaconModelStringParser.h:222
std::string myDesignatorString
Definition: DtBuoyBeaconModelStringParser.h:204
AttributeEnumerationMap myAttributeEnumerationMap
Definition: DtBuoyBeaconModelStringParser.h:199
std::string myBuildPatternString
Definition: DtBuoyBeaconModelStringParser.h:203
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:72
DtVirtualBaseClassCreator< DtBuoyBeaconModelStringParser > DtBuoyBeaconModelStringParserCreator
creator
Definition: DtBuoyBeaconModelStringParser.h:27
std::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:186
DesignatorAcceptSet myDesignatorAcceptSet
Definition: DtBuoyBeaconModelStringParser.h:210
BuoyIconsByColorMap myBuoyIconsByColorMap
Definition: DtBuoyBeaconModelStringParser.h:221
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)