25 #include <boost/shared_ptr.hpp>
27 #include <vlutil/vlHashlist.h>
28 #include <vlutil/vlString.h>
29 #include <vlutil/vlList.h>
71 #ifdef DtObjectDebugger_Enable
117 virtual void enable();
118 virtual void disable();
119 virtual bool isEnabled();
120 virtual void setIsEnabled(
bool yesNo);
126 virtual void preFirstTickInit();
136 virtual void postTick();
145 virtual void timedTick();
149 virtual void setMinTickPeriod(
double minTickPeriod);
152 virtual double minTickPeriod()
const;
155 virtual void setMinTickPeriodVariance(
double minTickPeriodVariance);
158 virtual double minTickPeriodVariance()
const;
163 virtual void setNextTickTime(
double nextTickTime);
166 virtual double nextTickTime()
const;
173 virtual double calculateNextTickTime()
const;
179 virtual double calculateFirstTickTime()
const;
187 virtual const char* type()
const = 0;
202 virtual void setListItem(DtListItem* item);
203 virtual DtListItem* listItem();
207 virtual void putData(std::string& fp,
int indentLevel = 0);
227 virtual DtList inputPortList()
const;
242 virtual DtList outputPortList()
const;
254 virtual DtList inputPortGroupList()
const;
266 virtual DtList outputPortGroupList()
const;
274 virtual int priority()
const;
280 virtual void setPriority(
int priority);
291 virtual void setDT(
double deltaT);
303 virtual bool tickWhileDestroyed()
const;
310 virtual DtOutputStream& objectConsoleDebug(
const DtString& channel =
"")
const;
312 virtual DtOutputStream& objectConsoleVerbose(
const DtString& channel =
"")
const;
314 virtual DtOutputStream& objectConsoleInfo(
const DtString& channel =
"")
const;
316 virtual DtOutputStream& objectConsoleWarn(
const DtString& channel =
"")
const;
318 virtual DtOutputStream& objectConsoleError(
const DtString& channel =
"")
const;
319 virtual int notifyLevel()
const;
358 static void addSimComponentCreatorFcn(
const DtString& type,
385 virtual bool taskVisualizationsActive()
const;
392 virtual bool taskVisualizationsEnabled()
const;
395 virtual void onRestore();
399 return myTaskVisualizations;
405 virtual double computeCurrentTime();
411 bool testInvariant()
const;
416 virtual bool createPortGroups();
421 virtual bool createPorts();
432 const DtString& defaultPsrName,
bool useDescriptorParams =
true);
439 virtual void destroyTaskVisualizations();
442 virtual void destroyTaskVisualization(
const DtString& name);
457 double calculateNextTaskVisTickTime()
const;
477 void removeSimObjectPredicateCallback(
const DtSimObject*,
486 void invokeSimObjectPredicateCallbacks();
490 virtual void clearPredicateCallbacks();
const DtComponentDescriptor * myComponentDescriptor
Definition: simComponent.h:539
double myNextTickTime
Definition: simComponent.h:527
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:107
Definition: attachedTerrain.h:45
Definition: symbolString.h:20
double myMinTickPeriod
Definition: simComponent.h:525
A DtComponentSystem is a collection of DtSimComponents that are associated with each other...
Definition: componentSystem.h:35
DtOutputPortGroupMap myOutputPortGroupList
Definition: simComponent.h:519
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Definition: readerWriter.h:85
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:49
#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:511
int myPriority
Definition: simComponent.h:523
Definition: readerWriterRegistry.h:39
double myDT
Definition: simComponent.h:529
class DtSimComponentFactory:
Definition: simComponentFactory.h:36
class DtVrfProcessStateRepositoryManager:
Definition: vrfProcessStateRepositoryManager.h:49
const DtLocalObject * entity() const
Definition: simComponent.h:370
DtOutputPortGroup is a data port group of a data provider. It may contain any number of DtOutputPorts...
Definition: outputPortGroup.h:34
DtLocalObject * myEntity
Definition: simComponent.h:505
Description: This repository is an internal repository accessible only by local objects. It holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.
Definition: vrfObjectStateRepository.h:90
double myMinTickPeriodVariance
Definition: simComponent.h:526
static DtSimComponentFactory * myFactory
Definition: simComponent.h:521
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick. Implemented by subclasses. ...
Definition: simComponent.h:436
Contains the DtVrfObjectPredicate class declaration.
Definition: vrfObjectPredicate.h:20
static DtReaderWriterFactory * factory()
makVrf::DtTaskVisualizationMap myTaskVisualizations
The visualization objects to be drawn for this component.
Definition: simComponent.h:549
DtListItem * myListItem
Definition: simComponent.h:509
DtComponentSystem * mySystem
Pointer to the DtComponentSystem that this component belongs.
Definition: simComponent.h:508
DtInputPortGroupMap myInputPortGroupList
Definition: simComponent.h:518
The DtPhysicalWorld is the primary interface to and manager of all of the "physical" aspects of the s...
Definition: physicalWorld.h:102
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:528
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
File: simMsg.h.
Definition: simMessage.h:35
DtPredicateCallbackManager myPredicateCallbackManager
Definition: simComponent.h:557
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
The predicate callback manager allows for registration of callbacks by sim object for predicates...
Definition: predicateCallbackManager.h:19
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:571
static VRF4API_METHOD DtSimComponent * MarkThreadSafe(DtSimComponent *comp)
This is the deprecated API that can be used as a reference to migrate 4.X code to 5...
Definition: simComponent.h:567
std::map< DtString, DtOutputPortGroup * > DtOutputPortGroupMap
Definition: simComponent.h:514
DtSimComponent *(* DtSimComponentCreatorFcn)(const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *compDescriptor, DtReaderWriterRegistry *registry)
Definition: simComponentFactory.h:25
DtInputPortMap myInputPortList
Definition: simComponent.h:516
std::list< DtVrfProcessStateRepository * > myComponentPsrs
List of PSRs made using createComponentPsr() that will be deleted by this component when it is destro...
Definition: simComponent.h:543
double myNextTaskVisTickTime
The next tick time for updating the task visualizations.
Definition: simComponent.h:552
bool myFirstTick
Initialized to true in the constructor, set to false by the first call to postTick.
Definition: simComponent.h:537
bool myIsEnabled
Indicates whether this component should be enabled for ticking or not.
Definition: simComponent.h:533
DtOutputPortMap myOutputPortList
Definition: simComponent.h:517
DtOutputPorts are data ports owned by data producers. They are connected to DtPortConnections and sen...
Definition: outputPort.h:42
void(* DtVrfObjectPredicateCallbackFunction)(DtSimObjectReference obj, DtVrfObjectPredicateEvaluator *predicateEval, void *userData)
Callback function that takes a DtSimObjectReference, a pointer to the DtVrfObjectPredicateEvaluator t...
Definition: vrfObjectPredicateCallbackInfo.h:19
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
VRF4API_METHOD const DtSimulationServices * simManager() const
This is the deprecated API that can be used as a reference to migrate 4.X code to 5...
Definition: simComponent.h:566
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtLocalObject * entity()
Gets the entity.
Definition: simComponent.h:369
virtual void registerAttributeFunctions()
Called to register functions that provide system attribute values. Called by init(). Empty in this class. Overridden in different components to add attribute provider functions.
Definition: simComponent.h:112
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
std::map< DtString, DtOutputPort * > DtOutputPortMap
Definition: simComponent.h:512
makVrf::DtTaskVisualizationMap & taskVisualizations()
Definition: simComponent.h:397
std::map< DtString, DtInputPortGroup * > DtInputPortGroupMap
Definition: simComponent.h:513
DtSimulationServices * mySimServices
Definition: simComponent.h:556
1) Define the interface class that will be used to represent the next and current frames...
Definition: taskVisualizationStateComponent.h:260
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
DtSymbolString myFullComponentName
Definition: simComponent.h:554
std::map< DtTaskVisualizationId, DtTaskVisualizationStateComponent * > DtTaskVisualizationMap
Definition: taskVisualizationForwards.h:20
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
bool myTickEveryFrame
Flag indicating that tickPeriod is set to 0, and the component will tick every frame.
Definition: simComponent.h:546