VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtModelPreloadManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/DtDe.h>
14 
15 #include <vrvCore/vrvCore.h>
16 #include <vrvCore/DtModelPreloaderAgent.hpp>
17 
19 #include <boost/unordered_set.hpp>
20 
23 
24 
25 namespace makVrv
26 {
27  class DtMetaFileManager;
28  class DtModel;
29  class DtModelInstance;
30  class DtModelPreloaderAgent;
31  class DtModelDefinition;
32  class DtModelPreloadSetRecord;
33  class DtModelPreloadSettingsManager;
34  class DtBackupInterface;
35 
40  {
41  public:
42 
44 
46  virtual ~DtModelPreloadManager();
47 
49  virtual void addModelDefinitionToPreloadList(const std::string& modelDefName);
50 
52  virtual void removeModelDefinitionFromPreloadList(const std::string& modelDefName);
53 
55  virtual void addModelDefinitionToDiscoveredModelList(const std::string& modelDefName);
56 
58  virtual void removeModelDefinitionFromDiscoveredModelList(const std::string& modelDefName);
59 
61  virtual void addSchemaToValidList(const std::string& schemaName);
62 
64  virtual void removeSchemaFromValidList(const std::string& schemaName);
65 
67  virtual bool isValidModelDefinition(const std::string& modelDefName);
68 
70  virtual bool isValidModelSchema(const std::string& schemaName);
71 
73  const std::string& preloadFilename() const;
74 
76  virtual void setPreloadFilename(const std::string& filename);
77 
80  const std::string& discoveredModelsFilename() const;
81 
84  void setDiscoveredModelsFilename(const std::string& filename);
85 
87  virtual void clearPreloadList();
88 
90  virtual void loadDefaults(bool loadOnlyFactorSettings = false);
91 
93  virtual void saveAsDefaults();
94 
96  virtual void exportSettings(const std::string& filename);
97 
99  virtual void exportDiscoveredSettings(const std::string& filename);
100 
102  virtual void importSettings(const std::string& filename);
103 
105  virtual void mergeSettings(const std::string& filename);
106 
108  virtual DtBackupInterface* backup();
109 
111  virtual void setModelPreloadFromRecord(const makArchives::DtModelPreloadSetRecord& rec);
112 
114  virtual void getModelPreloadRecord(makArchives::DtModelPreloadSetRecord& rec) const;
115 
117  virtual void getDiscoveredModelPreloadRecord(makArchives::DtModelPreloadSetRecord& rec) const;
118 
120  bool isInPreloadList(const std::string& modelDefName) const;
121 
123  virtual bool preloadModels();
124 
126  virtual void slot_modelCreated(DtModelInstance& modelInstance);
127 
130  virtual void slot_displayEngineAdded(const DtDeRecord& deRec);
131 
133  virtual void slot_quit();
134 
136  static DtModelPreloadManager& instance(DtDe& de);
137 
138  typedef boost::unordered_set<std::string> ModelDefinitionMap;
139  typedef boost::unordered_set<std::string> ModelSchemaMap;
140 
142  const ModelDefinitionMap& preloadModelMap() const;
143 
144  void setSettingsManager(DtModelPreloadSettingsManager* settingsMgr);
145 
146 
147  protected:
148 
151 
152  protected:
153 
155  DtModelPreloaderAgent* myAgent;
157 
160 
164 
165  DtModelPreloadSettingsManager* mySettingsManager;
166  };
167 
169  {
170  public:
171 
173  virtual ~DtModelPreloadManagerCreator();
174 
176  static DtModelPreloadManagerCreator& instance(DtDe& de);
177 
179  virtual DtModelPreloadManager* create();
180 
181  protected:
182 
185 
186  protected:
188  };
189 }
The base class for all model instances.
Definition: DtModelInstance.h:39
ModelDefinitionMap myPreloadModelMap
Definition: DtModelPreloadManager.h:161
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
ModelDefinitionMap myDiscoveredModelMap
Definition: DtModelPreloadManager.h:162
A Record of an IG instance.
Definition: DtDeRecord.h:24
Contains makVrv::DtDe class.
Contains makArchives::DtModelPreloadRecord class.
DtModelPreloadSettingsManager * mySettingsManager
Definition: DtModelPreloadManager.h:165
ModelSchemaMap myModelSchemaMap
Definition: DtModelPreloadManager.h:163
DtDe & myDe
Definition: DtModelPreloadManager.h:187
Handles the set up and processing of .meta files. Meta files contain extra information about nodes in...
Definition: DtMetaFileManager.h:36
Contains makVrv::DtVirtualBaseClass class.
DtMetaFileManager * myMetaFileManager
Definition: DtModelPreloadManager.h:156
Definition: DtModelPreloadManager.h:168
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::string myDiscoveredModelFilename
Definition: DtModelPreloadManager.h:159
Contains the DtSharedSettings class declaration.
boost::unordered_set< std::string > ModelSchemaMap
Definition: DtModelPreloadManager.h:139
std::string myPreloadModelFilename
Definition: DtModelPreloadManager.h:158
boost::unordered_set< std::string > ModelDefinitionMap
Definition: DtModelPreloadManager.h:138
DtModelPreloadManager is responsible for managing models to preload and tracking loaded models that w...
Definition: DtModelPreloadManager.h:39
Record of a collection of model preload definitions.
Definition: DtModelPreloadSetRecord.h:16
DtModelPreloaderAgent * myAgent
Definition: DtModelPreloadManager.h:155
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
DtDe & myDe
Definition: DtModelPreloadManager.h:154
The backup interface, is used by components to control backups of a state.
Definition: DtBackupInterface.h:19
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)