16 #include <vlutil/vlString.h>
17 #include <vlutil/vlList.h>
21 #include <vlutil/vlHashlist.h>
154 virtual void enable();
155 virtual void disable();
156 virtual bool isEnabled();
157 virtual void setIsEnabled(
bool yesNo);
163 virtual void preFirstTickInit();
173 virtual void postTick();
182 virtual void timedTick();
186 virtual void setMinTickPeriod(
double minTickPeriod);
189 virtual double minTickPeriod()
const;
192 virtual void setMinTickPeriodVariance(
double minTickPeriodVariance);
195 virtual double minTickPeriodVariance()
const;
200 virtual void setNextTickTime(
double nextTickTime);
203 virtual double nextTickTime()
const;
210 virtual double calculateNextTickTime()
const;
216 virtual double calculateFirstTickTime()
const;
224 virtual const char* type()
const = 0;
239 virtual void setListItem(DtListItem* item);
240 virtual DtListItem* listItem();
244 virtual void putData(std::string& fp,
int indentLevel = 0);
264 virtual DtList inputPortList()
const;
279 virtual DtList outputPortList()
const;
291 virtual DtList inputPortGroupList()
const;
303 virtual DtList outputPortGroupList()
const;
311 virtual int priority()
const;
317 virtual void setPriority(
int priority);
328 virtual void setDT(
double deltaT);
340 virtual bool tickWhileDestroyed()
const;
344 virtual DtOutputStream& objectConsoleDebug(
const DtString& channel =
"")
const;
345 virtual DtOutputStream& objectConsoleVerbose(
const DtString& channel =
"")
const;
346 virtual DtOutputStream& objectConsoleInfo(
const DtString& channel =
"")
const;
347 virtual DtOutputStream& objectConsoleWarn(
const DtString& channel =
"")
const;
348 virtual DtOutputStream& objectConsoleError(
const DtString& channel =
"")
const;
388 static void addSimComponentCreatorFcn(
const DtString& type,
431 virtual bool taskVisualizationsActive()
const;
438 virtual bool taskVisualizationsEnabled()
const;
441 virtual bool isThreadSafe()
const;
446 virtual void addVRLinkDeferredJob(
const boost::function<
void()>& callback);
449 virtual void onRestore();
454 virtual double computeCurrentTime();
465 virtual bool createPortGroups();
470 virtual bool createPorts();
481 const DtString& defaultPsrName,
bool useDescriptorParams =
true);
488 virtual void destroyTaskVisualizations();
491 virtual void destroyTaskVisualization(
const DtString& name);
506 double calculateNextTaskVisTickTime()
const;
const DtComponentDescriptor * myComponentDescriptor
Definition: simComponent.h:561
double myNextTickTime
Definition: simComponent.h:544
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:144
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:405
Definition: attachedTerrain.h:42
DtVrfObject * entity()
Gets the entity.
Definition: simComponent.h:400
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:521
double myMinTickPeriod
Definition: simComponent.h:542
DtSimManager * mySimManager
Definition: simComponent.h:523
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:408
DtOutputPortGroupMap myOutputPortGroupList
Definition: simComponent.h:536
DtTaskVisualizationMap myTaskVisualizations
The visualization objects to be drawn for this component.
Definition: simComponent.h:571
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:528
int myPriority
Definition: simComponent.h:540
Definition: readerWriterRegistry.h:39
double myDT
Definition: simComponent.h:546
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:543
static DtSimComponentFactory * myFactory
Definition: simComponent.h:538
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
Definition: simComponent.h:485
DtListItem * myListItem
Definition: simComponent.h:526
DtComponentSystem * mySystem
Pointer to the DtComponentSystem that this component belongs.
Definition: simComponent.h:525
Scoped guard for use in component tick functions.
Definition: simComponent.h:75
DtInputPortGroupMap myInputPortGroupList
Definition: simComponent.h:535
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:87
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:545
bool myThreadSafe
Definition: simComponent.h:103
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtVrfObjectStateRepository * myLocalStateRepository
Definition: simComponent.h:522
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:579
const DtSimManager * simManager() const
Definition: simComponent.h:409
std::map< DtString, DtOutputPortGroup * > DtOutputPortGroupMap
Definition: simComponent.h:531
DtInputPortMap myInputPortList
Definition: simComponent.h:533
std::list< DtVrfProcessStateRepository * > myComponentPsrs
List of PSRs made using createComponentPsr() that will be deleted by this component when it is destro...
Definition: simComponent.h:565
double myNextTaskVisTickTime
The next tick time for updating the task visualizations.
Definition: simComponent.h:574
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:554
bool myIsEnabled
Indicates whether this component should be enabled for ticking or not.
Definition: simComponent.h:550
DtOutputPortMap myOutputPortList
Definition: simComponent.h:534
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:104
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:149
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:102
std::map< DtString, DtOutputPort * > DtOutputPortMap
Definition: simComponent.h:529
std::map< DtString, DtInputPortGroup * > DtInputPortGroupMap
Definition: simComponent.h:530
bool myIsThreadSafe
Whether this component can be use the DtCriticalSection versions of the tick functions and be ticked ...
Definition: simComponent.h:559
RAII manager object for accessing paralle tick functionality.
Definition: parallelTickManager.h:324
DtSymbolString myFullComponentName
Definition: simComponent.h:576
const DtVrfObject * entity() const
Definition: simComponent.h:401
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:568