VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
componentDescriptor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
19 
20 #include <readerWriter/rwString.h>
21 #include <readerWriter/rwReal.h>
22 #include <readerWriter/rwBoolean.h>
23 
25 class DtFilename;
26 
50 {
51 public:
59  DtComponentDescriptor(const DtString& componentName,
60  DtReaderWriterRegistry* parentRegistry = NULL);
61  DtComponentDescriptor(const DtSymbolString& componentName,
62  DtReaderWriterRegistry* parentRegistry = NULL);
64 
70  DtReaderWriterRegistry* parentRegistry = NULL);
71 
74 
75  virtual ~DtComponentDescriptor() override;
76 
80  virtual DtString type() const;
81 
82  virtual DtComponentDescriptor* clone(
83  DtReaderWriterRegistry* parentRegistry = NULL) const;
84 
90  virtual void setComponentType(const DtString& componentType);
91  virtual const DtString& componentType() const;
93 
95  virtual void putData(std::string& fp, int indentLevel = 0) override;
96 
99  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
100  const DtVariableBindingsList& variableBindings) override;
101 
105  virtual bool init();
106 
110  virtual void setMinTickPeriod(DtReal minTickPeriod);
111  virtual DtReal minTickPeriod() const;
113 
117  virtual void setMinTickPeriodVariance(DtReal minTickPeriodVariance);
118  virtual DtReal minTickPeriodVariance() const;
120 
123  virtual void setPeriodicTickWhilePaused(bool value);
124  virtual bool periodicTickWhilePaused() const;
126 
130  virtual const DtString& processStateRepositoryName() const;
131  virtual void setProcessStateRepositoryName(const DtString& name);
133 
137  virtual const DtString& processStateRepositoryType() const;
138  virtual void setProcessStateRepositoryType(const DtString& type);
140 
143  virtual void setIsEnabled(bool yesNo);
144  virtual bool isEnabled() const;
146 
149  virtual void setIsEnabledForClutterEntities(bool yesNo);
150  virtual bool isEnabledForClutterEntities() const;
152 
172  virtual void setDebugActive(bool active){myDebug = active;}
173  virtual bool debugActive() const {return myDebug;}
175 
179  virtual void setMinTaskVisualizationTickPeriod(DtReal minTickPeriod);
180  virtual DtReal minTaskVisualizationTickPeriod() const;
182 
186  virtual void setTaskVisualizationsEnabled(bool enabled);
187  virtual bool taskVisualizationsEnabled() const;
189 
192  virtual void setCreateComponent(bool yesNo);
193  virtual bool createComponent() const;
195 
197 
198  virtual void setCreateOnRemoteObject(bool yesNo);
199  virtual bool createOnRemoteObject() const;
201 
204  virtual const DtRwNLengthStringVector& scriptIds() const;
205  virtual DtRwNLengthStringVector& scriptIds();
207 
210  virtual const DtRwScriptVariablesList& scriptVariables() const;
211  virtual DtRwScriptVariablesList& scriptVariables();
213 
216  virtual const DtRwProperties& parameterData() const;
217  virtual DtRwProperties& parameterData();
219 
222  virtual const DtRwProperties& stateData() const;
223  virtual DtRwProperties& stateData();
225 
227  virtual const DtString& stateAndParameterDataPrefix() const;
228 
231  virtual const DtRwProperties& internalStateData() const;
232  virtual DtRwProperties& internalStateData();
234 
237  static void addComponentDescriptorCreatorFcn(const DtString& type,
239 
245  static void setFactory(DtComponentDescriptorFactory* factory);
247 
255  static DtComponentDescriptor* createComponentDescriptor(DtlObjPtr mtlStream,
256  const DtReaderWriter::SearchPaths& searchPaths,
257  const DtVariableBindingsList& variableBindings);
258 
263  static DtComponentDescriptor* createComponentDescriptor(const char* pName);
264 
269  static DtComponentDescriptor* creator();
270 
271  bool operator==(const DtComponentDescriptor&) const;
272 
273 protected:
276 
278  void addPrefixToStateAndParameterData();
279 
280 protected:
284 
289 
300 
311 
322 
328 
334 
339 
344 
351 
362 
367 
372 
377 
382 
387 
395 
402 
406 
411 
419 
423 
425 };
bool operator==(const DtReaderWriter &) const
Equivalence operator.
DtRwReal myMinTickPeriodVariance
Parameter Name: min-tick-period-variance Parameter Description: A time range for the tick period...
Definition: componentDescriptor.h:310
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
DtRwString myProcessStateRepositoryName
Parameter Name: process-state-repository-name Parameter Description: Name of the process state reposi...
Definition: componentDescriptor.h:327
DtComponentDescriptorFactory is a hashlist of DtComponentDescriptorCreatorFcn, indexed by a string ty...
Definition: componentDescriptorFactory.h:32
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DtRwReal myMinTickPeriod
Parameter Name: min-tick-period Parameter Description: Average tick period for this component...
Definition: componentDescriptor.h:299
DtRwNLengthStringVector myScriptIds
Parameter Name: script-ids Parameter Description: List of script IDs that are enabled by this control...
Definition: componentDescriptor.h:410
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
Definition: readerWriter.h:85
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
DtRwScriptVariablesList myScriptVariables
Parameter Name: script-variables Parameter Description: List of script variables that can be referenc...
Definition: componentDescriptor.h:417
static DtReaderWriterFactory * factory()
DtRwProperties myInternalStateData
Parameter Name: internal-state-data Parameter Description: List of internal dynamic state data that w...
Definition: componentDescriptor.h:400
virtual bool debugActive() const
Should detailed debug info be printed for this component. &quot;Detailed&quot; debug info can mean per-tick pr...
Definition: componentDescriptor.h:173
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtRwProperties myStateData
Parameter Name: state-data Parameter Description: List of dynamic state data that will be added to th...
Definition: componentDescriptor.h:386
DtRwString myStateAndParameterDataPrefix
Parameter Name: state-and-parameter-data-prefix Parameter Description: Optional prefix to be added to...
Definition: componentDescriptor.h:394
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRwReal myMinTaskVisualizationTickPeriod
Parameter Name: min-task-visualization-tick-period Parameter Description: Average tick period for thi...
Definition: componentDescriptor.h:361
DtRwBoolean myIsEnabled
Parameter Name: is-enabled Parameter Description: Is the component enabled (allowed to tick) or not...
Definition: componentDescriptor.h:338
DtRwBoolean myIsEnabledForClutterEntities
Parameter Name: is-enabled-for-clutter-entities Parameter Description: Is the component enabled (allo...
Definition: componentDescriptor.h:343
DtComponentDescriptor *(* DtComponentDescriptorCreatorFcn)()
Definition: componentDescriptorFactory.h:24
Script variables is a container of variables by script id that can be referenced in existing scripts...
Definition: rwScriptVariables.h:65
static DtComponentDescriptorFactory * myFactory
Definition: componentDescriptor.h:424
bool myPrefixAppliedToStateAndParamData
Indicates that the prefix has yet to be applied to state and parameter data from this system...
Definition: componentDescriptor.h:422
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwString myProcessStateRepositoryType
Parameter Name: process-state-repository-type Parameter Description: Type of the process state reposi...
Definition: componentDescriptor.h:333
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwBoolean myPeriodicTickWhilePaused
Parameter Name: periodic-tick-while-paused Parameter Description: This specifies if a component with ...
Definition: componentDescriptor.h:321
DtRwBoolean myCreateOnRemoteObject
Parameter Name: create-on-remote-object Parameter Description: If true, this component will be create...
Definition: componentDescriptor.h:376
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtRwProperties myParameterData
Parameter Name: parameter-data Parameter Description: List of static parameter data that will be adde...
Definition: componentDescriptor.h:381
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
virtual void setDebugActive(bool active)
Should detailed debug info be printed for this component. &quot;Detailed&quot; debug info can mean per-tick pr...
Definition: componentDescriptor.h:172
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
DtRwBoolean myDebug
Parameter Name: debug-detail Parameter Description: If set true in a config file, lots of debug detai...
Definition: componentDescriptor.h:350
DtRwBoolean myTaskVisualizationsEnabled
Parameter Name: task-visualizations-enabled Parameter Description: Whether this component&#39;s task visu...
Definition: componentDescriptor.h:366
DtRwString myComponentType
Parameter Name: component-type Parameter Description: String identifying type of component. .
Definition: componentDescriptor.h:288
DtRwBoolean myCreateComponent
Parameter Name: create-component Parameter Description: If set to true this component will be created...
Definition: componentDescriptor.h:371

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)