VR-Forces 4.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 
98  virtual DtString substituteVariableInPath(const DtFilename& filePath, const DtString& variableName) const;
99 
100  virtual MyMtlParameterDbEntry* parameterEntryFor(const DtObjectType&,
101  const DtObjectType& original = DtObjectType(-1, -1, -1, -1, -1, -1, -1, -1));
102 
105  virtual bool containsObjectType(const DtObjectType&);
106 
109  virtual bool hasModelNamed(const DtString&);
110 
111  virtual bool isModified() const;
112 
113  void setDefaultCategories(const QStringList&);
114  void addDefaultCategory(const QString&);
115  const QStringList& defaultCategories() const;
116  virtual void changeDefaultCategory(const QString& old, const QString& newCat);
117  virtual void addDefaultCategories(QComboBox*);
118  virtual void revertCategories();
119  virtual void parameterChanged(const DtVrfObjectParameters*, const DtObjectType&, const DtObjectType&);
120 
122  virtual void replaceSystem(const DtFilename&);
123 
125  virtual void removeSystem(const DtFilename&);
126 
127  DtFilename getSystemDirectory() const;
128  DtFilename getFormationDirectory() const;
129 
130  virtual QPixmap getIcon(const makVrf::DtEntityMapperKey& key, int pointSize = 48,
131  bool sizeToFont = false);
132 
133  virtual void clearIcons(const makVrf::DtEntityMapperKey& key);
134 
135  static DtSimulationModelSetLoader* create(makVrv::DtDe*);
136 
137 public:
138  static void setParameterDatabaseCreatorFcn(DtParameterDatabaseCreatorFcn);
139 
140  const DtModelSet* modelSet() const;
141  DtModelSet* modelSet();
142  const DtMenu* entityMenu() const;
143 
146  virtual void setEntityMenu(DtMenu* menu);
147  virtual void revertEntityMenu();
148 
149  const DtVrfParameterDb* parameterDatabase() const;
150 
151  DtVrfParameterDb* parameterDatabase();
152  const DtSimulationModelSet& simulationModelSet() const;
153  const DtFilename& parameterFilename() const;
154  const DtComponentSystemDatabase* systemDatabase() const;
155  DtFilename modelSetDirectory() const;
156 
157  virtual void forceRemoved(DtForceType forceType);
158 
159  const DtRwForces& allForces() const;
160 
161  virtual bool hasModifiedCreateMenu() const;
162  virtual bool hasModifiedCategories() const;
163  virtual bool saveParameterDatabase(const DtFilename&);
164 
165 protected:
166  virtual DtVrfParameterDb* createDatabase(const DtFilename& filename);
167  virtual DtVrfParameterDb* createParameterDatabase();
168 
169  virtual void loadSystemFilesFromDirectory(const QString& directoryName,
170  const DtVariableBindingsList& variableBindings);
171 
172  virtual void cleanup();
173 
174  virtual bool saveModelSet(const DtFilename&);
175 
176  virtual bool saveForceHostility(const DtFilename& filename);
177 
178  virtual bool warned(const DtFilename&);
179  virtual void removeEntityFromSubObjects(const DtObjectType&);
180  virtual bool filenameInUse(const DtFilename&, DtMtlParameterDbEntry*) const;
181 
185  virtual DtModelSet* createFavoritesFromModelSet(DtModelSet* s);
186 
187  virtual void mergeFavoritesIntoModelSet(DtModelSet* favorites, DtModelSet* set);
188 
189 protected:
190  QStringList myWarned;
201  QStringList myDefaultCategories;
204 };
205 
207 {
209 }
210 
212 {
213  return mySimulationModelSet;
214 }
215 
217 {
218  return myParameterDatabase;
219 }
220 
222 {
223  return myParameterDatabase;
224 }
225 
227 {
228  return myModelSet;
229 }
230 
232 {
233  return myModelSet;
234 }
235 
236 inline const DtFilename& DtSimulationModelSetLoader::parameterFilename() const
237 {
238  return myParameterFilename;
239 }
240 
242 {
243  return myAllForces;
244 }
245 
246 inline const QStringList& DtSimulationModelSetLoader::defaultCategories() const
247 {
248  return myDefaultCategories;
249 }
250 
251 inline void DtSimulationModelSetLoader::setDefaultCategories(const QStringList& l)
252 {
254 }
255 
257 {
258  myDefaultCategories.push_back(l);
259 }
260 
263 
264 #endif

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)