VR-Forces 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 }
28 
29 class DtEntityType;
30 class DtRwVisualMetaData;
32 
33 namespace makVrf
34 {
39  {
40  public:
43 
45  virtual ~DtVrfVisualMetaDataManager() override;
46 
48  static DtVrfVisualMetaDataManager& instance(makVrv::DtDe& de);
49 
52  static void registerInstance(makVrv::DtDe& de, DtVrfVisualMetaDataManager* object);
53 
54  virtual Markings visualMetaDataFor(const DtEntityType&);
55 
58  virtual std::vector<DtVrfModelManager::ModelInformation> modelDefinitionsFor(const DtEntityType& objectType) const;
59 
61  virtual DtFilename metaDataFileFor(const DtEntityType&) const;
62 
64  virtual std::map<std::string, std::string> markingsFromVisualMetaData(const DtEntityType&,
65  bool skipVariants = false, const std::map<std::string, std::string>& variantSelections = std::map<std::string, std::string>());
66  virtual std::map<std::string, std::string> markingsFromVisualMetaData(const std::vector<DtEntityType>&,
67  bool skipVariants = false, const std::map<std::string, std::string>& variantSelections = std::map<std::string, std::string>());
68 
71  virtual Markings visualMetaDataFor(const std::vector<DtEntityType>& types, bool unionOf = true);
72  virtual Markings visualMetaDataFor(const DtEntityType& types, bool unionOf);
73 
75  virtual std::map<std::string, std::string> subvariantToVariantMap(const std::vector<DtEntityType>&) const;
76  virtual std::map<std::string, std::string> subvariantToVariantMap(const DtEntityType&) const;
77 
79  virtual bool isCountryLinkage(const std::string&) const;
80 
82  virtual void setSelectedCountry(const std::string&);
83 
86  virtual std::string selectedCountry(int force, std::string& forceCountry) const;
87 
89  virtual void setSelectionByLinkage(const std::string& linkage, const std::string& marking);
90  virtual std::string selectionByLinkage(const std::string& linkage) const;
91 
93  static std::string uncategorizedCode();
94 
96  static std::string allCode();
97 
100  virtual std::map<std::string, std::string> markingsFor(const std::set<makVrv::DtUniqueID>& data) const;
101  virtual std::map<std::string, std::string> markingsFor(makVrv::DtUniqueID id) const;
102  virtual std::map<std::string, std::string> markingsFor(const std::vector<makVrv::DtUniqueID>&) const;
103 
104  protected:
106  virtual bool intersectMarkings(Markings& result, const Markings& source) const;
107  virtual void unionMarkings(Markings& result, const Markings& source) const;
108 
109  virtual std::vector<DtEntityType> typesToCheck(const std::vector<DtEntityType>&) const;
110 
111  protected:
113  std::string mySelectedCountry;
114 
115  typedef std::map<std::string, std::string> SelectionsByLinkage;
117  };
118 }
The DtVisualMetaDataManager will use Vantage classes to read meta data files based on the given entit...
Definition: vrfVisualMetaDataManager.h:38
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:56
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:115
makVrv::DtDe & myDe
Definition: vrfVisualMetaDataManager.h:112
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
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
SelectionsByLinkage mySelectionsByLinkage
Definition: vrfVisualMetaDataManager.h:116
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:76
std::string mySelectedCountry
Definition: vrfVisualMetaDataManager.h:113

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)