16 #include <vlutil/vlString.h>
17 #include <vlutil/vlList.h>
21 #include <vlutil/vlHashlist.h>
68 #ifdef DtObjectDebugger_Enable
156 virtual void enable();
157 virtual void disable();
158 virtual bool isEnabled();
159 virtual void setIsEnabled(
bool yesNo);
165 virtual void preFirstTickInit();
175 virtual void postTick();
184 virtual void timedTick();
188 virtual void setMinTickPeriod(
double minTickPeriod);
191 virtual double minTickPeriod()
const;
194 virtual void setMinTickPeriodVariance(
double minTickPeriodVariance);
197 virtual double minTickPeriodVariance()
const;
202 virtual void setNextTickTime(
double nextTickTime);
205 virtual double nextTickTime()
const;
212 virtual double calculateNextTickTime()
const;
218 virtual double calculateFirstTickTime()
const;
226 virtual const char* type()
const = 0;
241 virtual void setListItem(DtListItem* item);
242 virtual DtListItem* listItem();
246 virtual void putData(std::string& fp,
int indentLevel = 0);
266 virtual DtList inputPortList()
const;
281 virtual DtList outputPortList()
const;
293 virtual DtList inputPortGroupList()
const;
305 virtual DtList outputPortGroupList()
const;
313 virtual int priority()
const;
319 virtual void setPriority(
int priority);
330 virtual void setDT(
double deltaT);
342 virtual bool tickWhileDestroyed()
const;
346 virtual DtOutputStream& objectConsoleDebug(
const DtString& channel =
"")
const;
347 virtual DtOutputStream& objectConsoleVerbose(
const DtString& channel =
"")
const;
348 virtual DtOutputStream& objectConsoleInfo(
const DtString& channel =
"")
const;
349 virtual DtOutputStream& objectConsoleWarn(
const DtString& channel =
"")
const;
350 virtual DtOutputStream& objectConsoleError(
const DtString& channel =
"")
const;
390 static void addSimComponentCreatorFcn(
const DtString& type,
433 virtual bool taskVisualizationsActive()
const;
440 virtual bool taskVisualizationsEnabled()
const;
443 virtual bool isThreadSafe()
const;
448 virtual void addVRLinkDeferredJob(
const boost::function<
void()>& callback);
451 virtual void onRestore();
456 virtual double computeCurrentTime();
467 virtual bool createPortGroups();
472 virtual bool createPorts();
483 const DtString& defaultPsrName,
bool useDescriptorParams =
true);
490 virtual void destroyTaskVisualizations();
493 virtual void destroyTaskVisualization(
const DtString& name);
508 double calculateNextTaskVisTickTime()
const;
const DtComponentDescriptor * myComponentDescriptor
Definition: simComponent.h:563
double myNextTickTime
Definition: simComponent.h:546
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:146
const DtVrfObject * const_entity() const
You would want to use this call if you could be either a const or non-const entity, and you wanted to be sure you only had const access.
Definition: simComponent.h:407
Definition: attachedTerrain.h:42
DtVrfObject * entity()
Gets the entity.
Definition: simComponent.h:402
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Definition: symbolString.h:20
DtVrfObject * myEntity
Definition: simComponent.h:523
double myMinTickPeriod
Definition: simComponent.h:544
DtSimManager * mySimManager
Definition: simComponent.h:525
A DtComponentSystem is a collection of DtSimComponents that are associated with each other...
Definition: componentSystem.h:35
DtSimManager * simManager()
Gets the sim manager.
Definition: simComponent.h:410
DtOutputPortGroupMap myOutputPortGroupList
Definition: simComponent.h:538
DtTaskVisualizationMap myTaskVisualizations
The visualization objects to be drawn for this component.
Definition: simComponent.h:573
Definition: readerWriter.h:85
*bool testInvariant() const
class DtSimResourceManager:
Definition: simResourceManager.h:38
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
DtSimComponent *(* DtSimComponentCreatorFcn)(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *compDescriptor, DtReaderWriterRegistry *registry)
Definition: simComponentFactory.h:25
#define DT_DEFINE_OBJECT_DEBUGGER_NAME(type)
Definition: objectCounter.h:265
Default on in debug, off in release.
Definition: objectCounter.h:31
std::map< DtString, DtInputPort * > DtInputPortMap
Definition: simComponent.h:530
int myPriority
Definition: simComponent.h:542
Definition: readerWriterRegistry.h:39
double myDT
Definition: simComponent.h:548
class DtSimComponentFactory:
Definition: simComponentFactory.h:36
class DtVrfProcessStateRepositoryManager:
Definition: vrfProcessStateRepositoryManager.h:47
DtOutputPortGroup is a data port group of a data provider.
Definition: outputPortGroup.h:30
Description: This repository holds all information that is common to all the forms of all entity/aggr...
Definition: vrfObjectStateRepository.h:87
double myMinTickPeriodVariance
Definition: simComponent.h:545
static DtSimComponentFactory * myFactory
Definition: simComponent.h:540
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
Definition: simComponent.h:487
DtListItem * myListItem
Definition: simComponent.h:528
DtComponentSystem * mySystem
Pointer to the DtComponentSystem that this component belongs.
Definition: simComponent.h:527
Scoped guard for use in component tick functions.
Definition: simComponent.h:77
DtInputPortGroupMap myInputPortGroupList
Definition: simComponent.h:537
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:88
Definition: coordSystem.h:54
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
double myLastTickSimTime
Definition: simComponent.h:547
bool myThreadSafe
Definition: simComponent.h:105
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtVrfObjectStateRepository * myLocalStateRepository
Definition: simComponent.h:524
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
double dT() const
This is the delta-t for this component, which may or may not be the same as the exerciseClock dT...
Definition: simComponent.h:581
const DtSimManager * simManager() const
Definition: simComponent.h:411
std::map< DtString, DtOutputPortGroup * > DtOutputPortGroupMap
Definition: simComponent.h:533
DtInputPortMap myInputPortList
Definition: simComponent.h:535
std::list< DtVrfProcessStateRepository * > myComponentPsrs
List of PSRs made using createComponentPsr() that will be deleted by this component when it is destro...
Definition: simComponent.h:567
double myNextTaskVisTickTime
The next tick time for updating the task visualizations.
Definition: simComponent.h:576
DtBoost::shared_ptr< DtLineTaskVisualization > DtLineTaskVisualizationPtr
Definition: lineTaskVisualization.h:138
bool myFirstTick
Initialized to true in the constructor, set to false by the first call to postTick.
Definition: simComponent.h:556
bool myIsEnabled
Indicates whether this component should be enabled for ticking or not.
Definition: simComponent.h:552
DtOutputPortMap myOutputPortList
Definition: simComponent.h:536
DtOutputPorts are data ports owned by data producers.
Definition: outputPort.h:46
AccessType
Definition: parallelTickManager.h:65
DtBoost::shared_ptr< DtPointTaskVisualization > DtPointTaskVisualizationPtr
Definition: pointTaskVisualization.h:75
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories.
Definition: vrfProcessStateRepository.h:43
DtCriticalSection myCriticalSection
Definition: simComponent.h:106
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
virtual void registerAttributeFunctions()
Called to register functions that provide system attribute values.
Definition: simComponent.h:151
std::map< DtTaskVisualizationId, DtTaskVisualizationPtr > DtTaskVisualizationMap
Definition: taskVisualization.h:121
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
std::map< DtString, DtOutputPort * > DtOutputPortMap
Definition: simComponent.h:531
std::map< DtString, DtInputPortGroup * > DtInputPortGroupMap
Definition: simComponent.h:532
bool myIsThreadSafe
Whether this component can be use the DtCriticalSection versions of the tick functions and be ticked ...
Definition: simComponent.h:561
RAII manager object for accessing paralle tick functionality.
Definition: parallelTickManager.h:324
DtSymbolString myFullComponentName
Definition: simComponent.h:578
const DtVrfObject * entity() const
Definition: simComponent.h:403
DtBoost::shared_ptr< DtTextTaskVisualization > DtTextTaskVisualizationPtr
Definition: textTaskVisualization.h:75
DtBoost::shared_ptr< DtAreaTaskVisualization > DtAreaTaskVisualizationPtr
Definition: areaTaskVisualization.h:61
bool myTickEveryFrame
Flag indicating that tickPeriod is set to 0, and the component will tick every frame.
Definition: simComponent.h:570