VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfVisualMetaDataManager.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 <vrfGuiCore/vrfGuiCore.h>
16 #include <vrvCore/DtUniqueID.h>
17 #include <vlutil/vlFilename.h>
18 
19 #include <map>
20 #include <set>
21 #include <string>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtModelDefinition;
27  class DtSimEntry;
28 }
29 
30 class DtEntityType;
31 class DtRwVisualMetaData;
33 
34 namespace makVrf
35 {
40  {
41  public:
44 
46  virtual ~DtVrfVisualMetaDataManager();
47 
49  static DtVrfVisualMetaDataManager& instance(makVrv::DtDe& de);
50 
53  static void registerInstance(makVrv::DtDe& de, DtVrfVisualMetaDataManager* object);
54 
55  virtual Markings visualMetaDataFor(const DtEntityType&);
56 
59  virtual std::vector<DtVrfModelManager::ModelInformation> modelDefinitionsFor(const DtEntityType& objectType) const;
60 
62  virtual DtFilename metaDataFileFor(const DtEntityType&) const;
63 
65  virtual std::map<std::string, std::string> markingsFromVisualMetaData(const DtEntityType&,
66  bool skipVariants = false, const std::map<std::string, std::string>& variantSelections = std::map<std::string, std::string>());
67  virtual std::map<std::string, std::string> markingsFromVisualMetaData(const std::vector<DtEntityType>&,
68  bool skipVariants = false, const std::map<std::string, std::string>& variantSelections = std::map<std::string, std::string>());
69 
72  virtual Markings visualMetaDataFor(const std::vector<DtEntityType>& types, bool unionOf = true);
73  virtual Markings visualMetaDataFor(const DtEntityType& types, bool unionOf);
74 
76  virtual std::map<std::string, std::string> subvariantToVariantMap(const std::vector<DtEntityType>&) const;
77  virtual std::map<std::string, std::string> subvariantToVariantMap(const DtEntityType&) const;
78 
80  virtual bool isCountryLinkage(const std::string&) const;
81 
83  virtual void setSelectedCountry(const std::string&);
84 
87  virtual std::string selectedCountry(int force, std::string& forceCountry) const;
88 
90  virtual void setSelectionByLinkage(const std::string& linkage, const std::string& marking);
91  virtual std::string selectionByLinkage(const std::string& linkage) const;
92 
94  static std::string uncategorizedCode();
95 
97  static std::string allCode();
98 
101  virtual std::map<std::string, std::string> markingsFor(const std::vector<makVrv::DtSimEntry*>& data) const;
102  virtual std::map<std::string, std::string> markingsFor(makVrv::DtUniqueID id) const;
103  virtual std::map<std::string, std::string> markingsFor(const std::vector<makVrv::DtUniqueID>&) const;
104 
105  protected:
107  virtual bool intersectMarkings(Markings& result, const Markings& source) const;
108  virtual void unionMarkings(Markings& result, const Markings& source) const;
109 
110  virtual std::vector<DtEntityType> typesToCheck(const std::vector<DtEntityType>&) const;
111 
112  protected:
114  std::string mySelectedCountry;
115 
116  typedef std::map<std::string, std::string> SelectionsByLinkage;
118  };
119 }
The DtVisualMetaDataManager will use Vantage classes to read meta data files based on the given entit...
Definition: vrfVisualMetaDataManager.h:39
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
The DtVisualMetaDataManager will use ead meta data files based on the given entity type...
Definition: visualMetaDataManager.h:27
std::map< std::string, Marking > Markings
Definition: visualMetaDataManager.h:55
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Contains makVrv::DtVirtualBaseClass class.
std::map< std::string, std::string > SelectionsByLinkage
Definition: vrfVisualMetaDataManager.h:116
makVrv::DtDe & myDe
Definition: vrfVisualMetaDataManager.h:113
DtRwVisualMetaData is a container for a visual meta data file, and, with the meta data within that fi...
Definition: rwVisualMetaData.h:18
const char * source
Definition: lz4.h:442
SelectionsByLinkage mySelectionsByLinkage
Definition: vrfVisualMetaDataManager.h:117
Contains makVrv::DtUniqueID type.
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
std::string mySelectedCountry
Definition: vrfVisualMetaDataManager.h:114

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)