VR-Forces 4.1.1 Class Documentation
simulationModelSetLoader.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #ifndef DtSimulationModelSetLoader_H_
10 #define DtSimulationModelSetLoader_H_
11 
13 #include <vrfutil/rwForces.h>
14 #include <vlutil/vlFilename.h>
15 #include <QtCore/QHash>
16 #include <QtGui/QPixmap>
17 #include <QtCore/QObject>
18 
20 
21 class DtVrfParameterDb;
22 class DtObjectType;
23 class DtModelSet;
26 class DtMenu;
28 class DtModelSetEntry;
31 class QComboBox;
32 class DtEntityMapperKey;
34 
35 typedef DtVrfParameterDb* (*DtParameterDatabaseCreatorFcn) ();
36 
38 
39 namespace makVrv
40 {
41  class DtDe;
42 }
43 
44 typedef DtSimulationModelSetLoader* (*DtSimulationModelSetLoaderCreatorFcn)(makVrv::DtDe*);
45 
47 {
48  Q_OBJECT
49 
50 public:
51 
54 
55  virtual ~DtSimulationModelSetLoader();
56 
57  virtual bool load(const DtSimulationModelSet&);
58  virtual bool save(const DtFilename&);
59 
60 private:
63 
64 public:
65 
67  DtFilename simulationModelSetFilename() const;
68 
69  virtual bool openOpdFile(const DtFilename& filename);
70 
71  virtual bool openSystemFiles(const DtVrfParameterDb* opd);
72 
73  virtual bool openEntFile(const DtFilename& filename);
74  virtual bool loadModelSet(const DtFilename& f);
75 
76  virtual bool loadAllOpdParameters(bool canCancel = true, const QString& label = "");
77 
78  virtual bool loadForceHostilityFile(const DtFilename& f);
79 
80  virtual DtModelSetEntry* modifiedModelValue(DtModelSetEntry*, bool createIfMissing = true);
81 
84  virtual DtModelSetEntry* modelEntry(const DtObjectType&, bool createIfMissing = false);
85  virtual DtModelSetEntry* modelEntry(DtModelSet*, const DtObjectType&, bool createIfMissing = false);
86 
87  virtual void revertParameterDatabase();
88 
93  virtual DtString opdVariableValue(const DtString& variableName) const;
94 
96  virtual DtFilename path() const;
97 
101  virtual DtString substituteVariableInPath(const DtFilename& filePath, const DtString& variableName) const;
102 
103  virtual MyMtlParameterDbEntry* parameterEntryFor(const DtObjectType&,
104  const DtObjectType& original = DtObjectType(-1, -1, -1, -1, -1, -1, -1, -1));
105 
108  virtual bool containsObjectType(const DtObjectType&);
109 
112  virtual bool hasModelNamed(const DtString&);
113 
114  virtual bool isModified() const;
115 
116  void setDefaultCategories(const QStringList&);
117  void addDefaultCategory(const QString&);
118  const QStringList& defaultCategories() const;
119  virtual void changeDefaultCategory(const QString& old, const QString& newCat);
120  virtual void addDefaultCategories(QComboBox*);
121  virtual void revertCategories();
122  virtual void parameterChanged(const DtVrfObjectParameters*, const DtObjectType&, const DtObjectType&);
123 
125  virtual void replaceSystem(const DtFilename&);
126 
128  virtual void removeSystem(const DtFilename&);
129 
130  DtFilename getSystemDirectory() const;
131  DtFilename getFormationDirectory() const;
132 
133  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
134  bool sizeToFont = false);
135 
136  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
137 
138  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
139 
140 public:
141  static void setParameterDatabaseCreatorFcn(DtParameterDatabaseCreatorFcn);
142 
143  const DtModelSet* modelSet() const;
144  DtModelSet* modelSet();
145  const DtMenu* entityMenu() const;
146 
149  virtual void setEntityMenu(DtMenu* menu);
150  virtual void revertEntityMenu();
151 
152  const DtVrfParameterDb* parameterDatabase() const;
153 
154  DtVrfParameterDb* parameterDatabase();
155  const DtSimulationModelSet& simulationModelSet() const;
156  const DtFilename& parameterFilename() const;
157  const DtComponentSystemDatabase* systemDatabase() const;
158  DtFilename modelSetDirectory() const;
159 
160  virtual void forceRemoved(DtForceType forceType);
161 
162  const DtRwForces& allForces() const;
163 
164  virtual bool hasModifiedCreateMenu() const;
165  virtual bool hasModifiedCategories() const;
166  virtual bool saveParameterDatabase(const DtFilename&);
167 
168 protected:
169  virtual DtVrfParameterDb* createDatabase(const DtFilename& filename);
170  virtual DtVrfParameterDb* createParameterDatabase();
171 
172  virtual void loadSystemFilesFromDirectory(const QString& directoryName,
173  const DtVariableBindingsList& variableBindings);
174 
175  virtual void cleanup();
176 
177  virtual bool saveModelSet(const DtFilename&);
178 
179  virtual bool saveForceHostility(const DtFilename& filename);
180 
181  virtual bool warned(const DtFilename&);
182  virtual void removeEntityFromSubObjects(const DtObjectType&);
183  virtual bool filenameInUse(const DtFilename&, DtMtlParameterDbEntry*) const;
184 
188  virtual DtModelSet* createFavoritesFromModelSet(DtModelSet* s);
189 
190  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
191 
192 protected:
193  QStringList myWarned;
204  QStringList myDefaultCategories;
207 };
208 
210 {
212 }
213 
215 {
216  return mySimulationModelSet;
217 }
218 
220 {
221  return myParameterDatabase;
222 }
223 
225 {
226  return myParameterDatabase;
227 }
228 
230 {
231  return myModelSet;
232 }
233 
235 {
236  return myModelSet;
237 }
238 
239 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
240 {
241  return myParameterFilename;
242 }
243 
245 {
246  return myAllForces;
247 }
248 
249 inline const QStringList& DtSimulationModelSetLoader::defaultCategories() const
250 {
251  return myDefaultCategories;
252 }
253 
254 inline void DtSimulationModelSetLoader::setDefaultCategories(const QStringList& l)
255 {
257 }
258 
260 {
261  myDefaultCategories.push_back(l);
262 }
263 
266 
267 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)