VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
visualMetaDataManager.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 
14 #include <vlutil/vlFilename.h>
15 
16 #include <map>
17 #include <set>
18 #include <string>
19 
22 
27 {
28 public:
29  struct OrderedInfo
30  {
31  OrderedInfo(const std::string& c, const std::string& p) : configName(c), pattern(p) {};
33  OrderedInfo(const OrderedInfo& orig) : configName(orig.configName), pattern(orig.pattern) {};
34 
35  std::string configName;
36  std::string pattern;
37  };
38 
39  struct Mapping
40  {
41  std::string guiDisplayName;
42  int count;
43  };
44 
45  typedef std::map<std::string, Mapping> MarkingMappings;
46  struct Marking
47  {
48  std::string displayName;
49  std::string linkageName;
52  };
53 
54  typedef std::map<std::string, Marking> Markings;
55 
56 public:
59 
62 
64  virtual ~DtVisualMetaDataManager();
65 
66  virtual Markings visualMetaDataFor(const DtFilename& metaDataFile, const DtRwVisualMetaData& vmd = DtRwVisualMetaData(""));
67 
69  virtual void clear();
70 
72  virtual std::map<std::string, std::string> markingsFromVisualMetaData(const DtFilename& metaDataFile, const DtRwVisualMetaData&,
73  bool skipVariants = false, const std::map<std::string, std::string>& variantSelections = std::map<std::string, std::string>());
74 
77 
79  static DtVisualMetaDataManager* instance();
80 
81 protected:
83  virtual std::vector<OrderedInfo> orderFromSelection(const MarkingMappings&, const DtRwNLengthStringVector&) const;
84 
86  virtual std::string randomlySelect(const std::vector<OrderedInfo>&, double topPercentToChoose, double topRandomPrecent) const;
87 
89  virtual std::string weightedExponential(const std::vector<OrderedInfo>&) const;
90 
92  virtual void* loadMetaFile(const DtFilename&) const;
93 
95  virtual std::string variantSelection(const std::string& linkage, const Markings&, const DtRwVisualMetaDataEntry&) const;
96 
99  virtual std::string subvariantSelection(const std::string& linkage, const Markings&, const DtRwVisualMetaData&, const std::map<std::string, std::string>& variantSelections) const;
100 
101 protected:
103 
104  typedef std::map<std::string, Markings> StoredMarkings;
106 };
MarkingMappings values
Definition: visualMetaDataManager.h:51
std::map< std::string, Mapping > MarkingMappings
Definition: visualMetaDataManager.h:45
Definition: visualMetaDataManager.h:39
int count
Definition: visualMetaDataManager.h:42
StoredMarkings myStoredMarkings
Definition: visualMetaDataManager.h:105
The DtVisualMetaDataManager will use ead meta data files based on the given entity type...
Definition: visualMetaDataManager.h:26
std::map< std::string, Marking > Markings
Definition: visualMetaDataManager.h:54
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
std::map< std::string, Markings > StoredMarkings
Definition: visualMetaDataManager.h:104
Definition: visualMetaDataManager.h:29
int selectionMethodology
Definition: visualMetaDataManager.h:50
std::string pattern
Definition: visualMetaDataManager.h:36
DtRwVisualMetaData is a container for a visual meta data file, and, with the meta data within that fi...
Definition: rwVisualMetaData.h:18
OrderedInfo(const std::string &c, const std::string &p)
Definition: visualMetaDataManager.h:31
OrderedInfo()
Definition: visualMetaDataManager.h:32
DtRwVisualMetaDataEntry is a container for a visual meta data file, and, with the meta data within th...
Definition: rwVisualMetaDataEntry.h:18
Definition: visualMetaDataManager.h:46
static DtVisualMetaDataManager * theInstance
Definition: visualMetaDataManager.h:102
#define DT_DLL_vrfDiGuy
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfDiGuyDefines.h:34
std::string linkageName
Definition: visualMetaDataManager.h:49
std::string displayName
Definition: visualMetaDataManager.h:48
std::string guiDisplayName
Definition: visualMetaDataManager.h:41
OrderedInfo(const OrderedInfo &orig)
Definition: visualMetaDataManager.h:33

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)