VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
componentSystemDefinition.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
20 #include "vrfutil/rwStringList.h"
21 #include "vrfutil/simResource.h"
23 
28 {
29 private:
32 
33 public:
34  typedef DtComponentSystemDefinition* (*ComponentSystemDefinitionCreatorFcn)(const DtString&, DtReaderWriterRegistry* parentRegistry);
35 
38  DtReaderWriterRegistry * parentRegistry = 0);
39 
42  DtReaderWriterRegistry * parentRegistry = 0);
43 
46  orig);
47 
49  virtual ~DtComponentSystemDefinition() override;
50 
52 
53  virtual const DtComponentSystemDescriptorList& systemDescriptorList() const;
54  virtual void setSystemDescriptorList(const DtComponentSystemDescriptorList& list);
56 
58 
59  virtual const DtComponentDescriptorList& sensorDescriptorList() const;
60  virtual DtComponentDescriptorList& sensorDescriptorList();
61  virtual void setSensorDescriptorList(const DtComponentDescriptorList& list);
63 
65 
66  virtual const DtComponentDescriptorList& controllerDescriptorList() const;
67  virtual DtComponentDescriptorList& controllerDescriptorList();
68  virtual void setControllerDescriptorList(const DtComponentDescriptorList&
69  list);
71 
73 
74  virtual const DtComponentDescriptorList& actuatorDescriptorList() const;
75  virtual DtComponentDescriptorList& actuatorDescriptorList();
76  virtual void setActuatorDescriptorList(const DtComponentDescriptorList&
77  list);
79 
81 
82  virtual const DtConnectionDescriptorList& connectionDescriptorList() const;
83  virtual DtConnectionDescriptorList& connectionDescriptorList();
84  virtual void setConnectionDescriptorList(const DtConnectionDescriptorList&
85  list);
87 
94 
95  virtual const DtComponentSystemMetaData& metaData(bool merged = false) const;
96 
99  virtual DtComponentSystemMetaData& metaData(bool merged = false);
101 
103 
104  virtual const DtSimResourceManager& resourceDefaults() const;
105  virtual DtSimResourceManager& resourceDefaults();
106 
108  virtual DtSimResourceManager providedResourceDefaults() const;
110 
115 
116  virtual const DtRwStringList& compatibilityPsrNames() const;
117  virtual DtRwStringList& compatibilityPsrNames();
119 
121  bool operator==(const DtComponentSystemDefinition&) const;
123  {
124  return !(*this == rhs);
125  }
126 
128  virtual void postGetSelf() override;
129 
131  virtual bool hasComponentByDescriptorType(const DtString&) const;
132 
134  virtual bool hasComponentByComponentType(const DtString&) const;
135 
137 
138  virtual bool canBeDisabled() const;
139  virtual bool canBeDisabledSpecified() const;
140  virtual void setCanBeDisabled(bool yesNo);
142 
144 
145  virtual bool isTemplate() const;
146  virtual void setIsTemplate(bool yesNo);
148 
150  static ComponentSystemDefinitionCreatorFcn SetCreator(ComponentSystemDefinitionCreatorFcn);
151  static DtComponentSystemDefinition* Create(const DtString& systemName, DtReaderWriterRegistry* parent);
152 
153 protected:
156  virtual bool hasComponentByDescriptorType(const DtRwList&, const DtString&) const;
157 
160  virtual bool hasComponentByComponentType(const DtRwList&, const DtString&) const;
161 
162 protected:
173 
174  static ComponentSystemDefinitionCreatorFcn theCreator;
175 
182 };
bool operator==(const DtReaderWriter &) const
Equivalence operator.
DtRwStringList myCompatibilityPsrNames
Definition: componentSystemDefinition.h:170
static ComponentSystemDefinitionCreatorFcn theCreator
Definition: componentSystemDefinition.h:174
DtRwBoolean myCanBeDisabled
Definition: componentSystemDefinition.h:171
DtRwBoolean myIsTemplate
Definition: componentSystemDefinition.h:172
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
virtual void postGetSelf()
Called after either version of getSelf (mtl or environment). Default is no-op.
DtComponentSystemDescriptorList mySystemDescriptorList
Definition: componentSystemDefinition.h:163
List of DtComponentSystemDescriptor instances.
Definition: componentSystemDescriptorList.h:20
Definition: readerWriter.h:85
class DtSimResourceManager:
Definition: simResourceManager.h:19
Instances of DtComponentDescriptorList are readable/writeable lists of DtComponentDescriptor objects...
Definition: componentDescriptorList.h:22
Definition: readerWriterRegistry.h:39
DtComponentDescriptorList myActuatorDescriptorList
Definition: componentSystemDefinition.h:166
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:27
DtComponentSystemMetaData myMetaData
Definition: componentSystemDefinition.h:168
DtComponentDescriptorList mySensorDescriptorList
Definition: componentSystemDefinition.h:164
DtComponentDescriptorList myControllerDescriptorList
Definition: componentSystemDefinition.h:165
Instances of DtConnectionDescriptorList are readable/writeable lists of DtConnectionDescriptor object...
Definition: connectionDescriptorList.h:22
DtSimResourceManager myResourceDefaults
Parameter Name: resource-defaults Parameter Description: List of resources, that, if these resources ...
Definition: componentSystemDefinition.h:181
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtConnectionDescriptorList myConnectionDescriptorList
Definition: componentSystemDefinition.h:167
bool operator!=(const DtComponentSystemDefinition &rhs) const
Definition: componentSystemDefinition.h:122
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
Definition: rwStringList.h:20
Contains metadata about a component system definition. Data such as name, description, and what types of entities the system is allowed to be used on. This data will typically be used by the Entity Editor, and not for any critical areas of vrfSim.
Definition: componentSystemMetaData.h:26
DtComponentSystemMetaData myMergedMetaData
Definition: componentSystemDefinition.h:169

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)