VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfModelSetManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
15 #include <vlpi/entityType.h>
21 #include <matrix/3dBoundingVolume.h>
23 
24 #include <QtCore/QString>
25 
26 #include <boost/signals2.hpp>
27 
28 #include <string>
29 #include <map>
30 
31 class DtModelSet;
32 class DtModelSetEntry;
33 class DtString;
36 class DtScenarioExplorer;
37 
38 namespace makVrv
39 {
40  class DtDe;
41 }
42 
43 namespace makVrf
44 {
45  class DtEntityMapperKey;
46 
49  {
50  public:
52  virtual ~DtVrfModelSetManager();
53 
55  static DtVrfModelSetManager& instance(makVrv::DtDe& de);
56  static void registerInstance(makVrv::DtDe& de, DtVrfModelSetManager* messager);
57 
58  public:
61  virtual void setVariableBindings(const DtRwVariableBindings*);
62 
65  virtual void setSearchPaths(const DtReaderWriter::SearchPaths&);
66 
68  virtual bool load(const std::string&, bool reset = true, bool signal = true);
69 
71  virtual QString parameterTranslation(const DtString& name) const;
72 
75  virtual bool loadFromDirectory(const std::string& dataDirectory, const std::string& guiDirectory,
76  const std::string& platformsDirectory, bool reset = true, bool signal = true, bool preloadParameters = false);
77 
79  virtual DtModelSetEntry* modelSetEntry(const DtEntityMapperKey& key) const;
80 
82  virtual bool canHoldSubordinates(const DtEntityMapperKey& key) const;
83 
85  virtual std::vector<DtObjectType> subordinateObjects(const DtEntityMapperKey&) const;
86 
88  virtual bool isRandomized(const DtEntityMapperKey&) const;
89 
91  virtual bool hasComponentDescriptor(const DtEntityMapperKey&, const DtString& type);
92 
94  virtual DtModelSetEntry* exactModelSetEntry(const DtEntityMapperKey& key) const;
95 
97  virtual void getSupportPoints(const DtEntityType& et,
98  DtVector& left, DtVector& right, DtVector& other);
99 
101  virtual Dt3dBoundingVolume getBoundingVolume(const DtEntityMapperKey& et);
102 
104  virtual DtEntityType nameToType(const DtString&) const;
105 
107  virtual DtFilename iconForList(const DtEntityType&, const DtString& list) const;
108 
110  virtual bool isFavorite(const DtEntityMapperKey& key, int force) const;
111 
113  virtual std::set<DtString> categories() const;
114 
116  virtual std::set<DtString> categoriesForPalette(const DtString& palette) const;
117 
119  virtual DtModelSetEntry* findByLabel(const DtString&) const;
120 
122  virtual DtModelSetEntry* addModelSetEntry(const DtString& label, const DtEntityMapperKey&,
123  const DtRwNLengthStringVector& cats);
124 
126  virtual std::vector<DtString> taskGroupsForTask(const DtEntityType& key, const DtSimTaskMessageType&) const;
127 
130  virtual void addSimulationObjectGroupModelSetEntry(DtSimulationObjectGroupModelSetEntry* entry);
131 
133  virtual DtSimulationObjectGroupModelSetEntry findSimulationObjectGroup(const std::string& sogName) const;
134 
136  virtual DtObjectType nextAvailableSimulationObjectGroupObjectType() const;
137 
139  virtual void removeModelSetEntry(const DtEntityMapperKey& e);
140 
142  virtual std::string nameFor(const DtEntityMapperKey&) const;
143 
145  virtual std::string keywordsFor(const DtEntityMapperKey&) const;
146 
148  virtual bool canEmbedIntoTerrain(const DtEntityMapperKey&) const;
149 
151  virtual bool canEmbark(const DtEntityMapperKey&) const;
152 
154  virtual bool canAttachTo(const DtEntityMapperKey&) const;
155 
157  virtual bool canEmbarkUpon(const DtEntityMapperKey&) const;
158 
160  virtual bool organized(const DtEntityMapperKey&) const;
161 
164  virtual std::string additionalKeywords(const DtEntityMapperKey&) const;
165  virtual void setAdditionalKeywords(const DtEntityMapperKey&, const std::string&, bool replace = false);
166 
168  virtual void statePropertiesForPlatform(const DtString&, DtRwProperties&) const;
169 
171  virtual void parameterPropertiesForPlatform(const DtString&, DtRwProperties&) const;
172 
174  virtual void statePropertiesFor(const DtEntityType&, DtRwProperties&) const;
175 
177  virtual void parameterPropertiesFor(const DtEntityType&, DtRwProperties&);
178 
180  template <class T>
181  boost::optional<T> parameterPropertyFor(const DtEntityMapperKey& e,
182  const std::string& propertyName) const
183  {
184  DtRwProperties props("");
185 
187  settings->parameterPropertiesFor(DtEntityMapperKey(e), props);
188 
189  return findPropertyValue<T>(props, propertyName.c_str());
190  }
191 
194  virtual void setModelSet(DtModelSet*);
195 
198  virtual void setFavorite(const DtEntityMapperKey& key, bool b);
199 
202  virtual DtModelSet* loadFavoritesFor(const std::string&);
203 
206  virtual void mergeFavoritesInto(DtModelSet* favorite, DtModelSet* modelSet);
207 
209  virtual void mergeFavorites(DtModelSet* favorites);
210 
212  virtual DtModelSetEntry* favoriteFor(DtModelSetEntry*) const;
213 
215  virtual DtModelSet* modelSet();
216 
218  virtual DtModelSet modelSet() const;
219 
221  virtual DtRwVisualMetaData visualMetaData(const DtEntityType&);
222 
223  void setAutoSave(bool b)
224  {
225  myAutoSave = b;
226  }
227 
228  bool autoSave() const
229  {
230  return myAutoSave;
231  }
232 
234  virtual DtSharedModelSet::EquipmentTypeMap baseEquipment(const DtObjectType&);
235 
237  virtual bool load(const DtScenarioExplorer&, bool = true);
238 
240  virtual void initializeCountries();
241 
242  protected:
244  virtual void clearModelSets();
245 
246  public:
247  boost::signals2::signal<void ()> signal_modelSetChanged;
248 
249  protected:
252 
253  typedef std::map<std::string, DtModelSet*> Favorites;
255 
257  };
258 }
DtModelSet * myModelSet
Definition: vrfModelSetManager.h:256
Definition: entityMapperKey.h:23
Virtual base class.
Definition: DtVirtualBaseClass.h:22
void setAutoSave(bool b)
Definition: vrfModelSetManager.h:223
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
std::multimap< EquipmentTypeCountPair, ObjectTypeAndLabel > EquipmentTypeMap
Definition: sharedModelSet.h:219
std::map< std::string, DtModelSet * > Favorites
Definition: vrfModelSetManager.h:253
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: simulationObjectGroupModelSetEntry.h:138
The Master Scenario Settings Dialog.
Definition: vrfModelSetManager.h:48
Definition: objectType.h:27
ReaderWriter object that maintains a list of reader-writer variable bindings.
Definition: rwVariableBindings.h:27
Description: A model is a set of items that defines a model to create in the back-end from the front-...
Definition: modelSetEntry.h:24
Contains makVrv::DtVirtualBaseClass class.
DtRwVisualMetaData is a container for a visual meta data file, and, with the meta data within that fi...
Definition: rwVisualMetaData.h:18
bool myAutoSave
Definition: vrfModelSetManager.h:251
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
static DtSharedSettingsManager & instance(DtDe &)
Get an instance of the shared settings manager from the DtDe;.
a write settings lock on a setting object.
Definition: DtWriteSettingsLock.h:50
Contains makVrv::DtReadSettingsLock class.
boost::optional< T > parameterPropertyFor(const DtEntityMapperKey &e, const std::string &propertyName) const
Returns the parameter property for the given entity type and property name. Return NULL object if pro...
Definition: vrfModelSetManager.h:181
boost::signals2::signal< void()> signal_modelSetChanged
Definition: vrfModelSetManager.h:247
A list of properties.
Definition: rwProperties.h:126
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Favorites myFavorites
Definition: vrfModelSetManager.h:254
bool autoSave() const
Definition: vrfModelSetManager.h:228
makVrv::DtDe & myDe
Definition: vrfModelSetManager.h:250
Definition: modelSet.h:28

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)