VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationObjectEditorComponentSystemDatabase.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
12 
13 #include <map>
14 
16 
20 {
21 private:
23 
27 
28 public:
31 
35  virtual bool loadSystemDefinition(const DtFilename& definitionFilename,
36  const DtVariableBindingsList& variableBindings, DtSimulationModelSet* sms, bool inMasterSMS,
38 
40  virtual bool isInMasterSMS(const DtFilename& definitionFilename) const;
41  virtual bool isInMasterSMS(const DtComponentSystemDefinition*) const;
42 
43  virtual void setIsInMasterSMS(const DtComponentSystemDefinition* def, bool b);
44  virtual void setIsInMasterSMS(const DtFilename& definitionFilename, bool b);
45 
47  virtual bool isDeleted(const DtFilename& definitionFilename) const;
48  virtual bool isDeleted(const DtComponentSystemDefinition*) const;
49 
51  virtual void setIsNew(const DtComponentSystemDefinition*def, bool);
52  virtual void setIsNew(const DtFilename&, bool);
53 
54  virtual bool isNew(const DtFilename& definitionFilename) const;
55  virtual bool isNew(const DtComponentSystemDefinition*) const;
56 
58  virtual void changeSystemFilename(const DtFilename& oldFilename, const DtFilename& newFilename);
59 
61  virtual bool removeSystem(const DtFilename& definitionFilename);
62 
64  virtual DtSimulationModelSet* simulationModelSetFor(const DtFilename& definitionFilename) const;
65  virtual DtSimulationModelSet* simulationModelSetFor(const DtComponentSystemDefinition*) const;
66 
67  virtual void setSimulationModelSet(const DtComponentSystemDefinition*def, DtSimulationModelSet*);
68  virtual void setSimulationModelSet(const DtFilename&, DtSimulationModelSet*);
69 
70  virtual bool saveSystem(const DtFilename& systemFile);
71 
73  virtual void setDeleted(const DtComponentSystemDefinition*def, bool);
74  virtual void setDeleted(const DtFilename&, bool);
75 
76  virtual DtVariableBindingsList& variableBindingsFor(const DtComponentSystemDefinition*);
77  virtual const DtVariableBindingsList& variableBindingsFor(const DtComponentSystemDefinition*) const;
78 
79  virtual std::map<DtString, DtString> variableSubstitutionsFor(const DtComponentSystemDefinition*) const;
80 
81  virtual DtVariableBindingsList& variableBindingsFor(const DtFilename&);
82  virtual const DtVariableBindingsList& variableBindingsFor(const DtFilename&) const;
83 
86  virtual DtComponentSystemDefinition* addSystem(const DtFilename&, const DtComponentSystemDefinition&);
87 
89  virtual DtComponentSystemDefinition* addSystem(const DtString&, const DtFilename&);
90 
92  virtual void resetVariableBindings(const DtComponentSystemDefinition*);
93  virtual void resetVariableBindings(const DtFilename&);
94 
95  virtual bool anyNew() const;
96  virtual bool anyDeleted() const;
97 
98 protected:
100  {
101  AdditionalSystemInformation() : inMasterSMS(false), sms(0), deleted(false), isNew(false) {};
103  inMasterSMS(orig.inMasterSMS), sms(orig.sms), deleted(orig.deleted), isNew(orig.isNew) {};
104 
105  bool inMasterSMS;
106  bool deleted;
107  bool isNew;
110  };
111 
112  typedef std::map<DtFilename, AdditionalSystemInformation> AdditionalSystemInformationMap;
114 
116 };
117 
DtVariableBindingsList myEmptyBindings
Definition: simulationObjectEditorComponentSystemDatabase.h:115
virtual void changeSystemFilename(const DtFilename &oldFilename, const DtFilename &newFilename)
Changes the filename for the given system to the new filename.
DtComponentSystemDatabase & operator=(const DtComponentSystemDatabase &orig)
Not implemented.
Definition: simulationObjectEditorComponentSystemDatabase.h:99
virtual bool loadSystemDefinition(const DtFilename &definitionFilename, const DtVariableBindingsList &variableBindings, const DtReaderWriter::SearchPaths &searchPaths=DtReaderWriter::SearchPaths())
Loads the system definition specified, and adds the system to the database.
bool deleted
Definition: simulationObjectEditorComponentSystemDatabase.h:106
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
AdditionalSystemInformationMap myAdditionalSystemInformationMap
Definition: simulationObjectEditorComponentSystemDatabase.h:113
virtual bool saveSystem(const DtFilename &)
Saves the system that is represented by the given filename.
AdditionalSystemInformation(const AdditionalSystemInformation &orig)
Definition: simulationObjectEditorComponentSystemDatabase.h:102
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
This class extends the component system database to add a bit more information that the simulation ob...
Definition: simulationObjectEditorComponentSystemDatabase.h:19
std::map< DtFilename, AdditionalSystemInformation > AdditionalSystemInformationMap
Definition: simulationObjectEditorComponentSystemDatabase.h:112
AdditionalSystemInformation()
Definition: simulationObjectEditorComponentSystemDatabase.h:101
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
bool isNew
Definition: simulationObjectEditorComponentSystemDatabase.h:107
virtual DtComponentSystemDefinition * addSystem(const DtFilename &, const DtComponentSystemDefinition &)
Adds the system given the filename and component definition, which will be cloned and then taken cont...
This class maintains a database of a set of DtComponentSystemDefinition instances. This is intended for use by things such as the Entity Editor which needs to load up all the system definitions available, and then find the appropriate ones for particular queries.
Definition: componentSystemDatabase.h:40
DtVariableBindingsList variableBindings
Definition: simulationObjectEditorComponentSystemDatabase.h:108
DtSimulationModelSet * sms
Definition: simulationObjectEditorComponentSystemDatabase.h:109
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
virtual bool removeSystem(const DtFilename &definitionFilename)
Removes the specified system from the database.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)