59 virtual bool init()
override;
62 virtual const char*
type()
const override;
65 virtual void tick()
override;
71 static void moveToCallback(
DtSimMessage * msg,
void * usr);
72 static void moveToRetrogradeCallback(
DtSimMessage * msg,
void * usr);
78 static void setLocationCallback(
DtSimMessage* msg,
void* usr);
84 static void moveIntoFormationCallback(
DtSimMessage * msg,
void * usr);
90 static void turnToHeadingCallback(
DtSimMessage* msg,
void* usrData);
96 static void modifyVrfObjectCallback(
DtSimMessage* msg,
void* usr);
105 virtual void processMoveToRetrogradeTask(
DtSimMessage * msg);
112 virtual void processDestinationChanged();
117 virtual bool setupDestination();
127 virtual void setupDestinationVector()
const;
130 virtual void invalidateDestinationVector()
const;
140 virtual bool atDestination();
143 virtual void doMoving();
146 virtual double findDesiredHeading();
149 virtual void moveToDestination();
177 virtual bool createPSR();
179 virtual double distanceToDestination()
const;
188 virtual double atDistance()
const;
193 virtual void processMoveIntoFormationTask(
DtSimMessage* msg);
197 virtual void processTurnToHeadingTask(
DtSimMessage* msg);
203 virtual void processEstimatedTotCalculation();
250 const double DtEstimatedTotCalcInterval = 5.0;
DtAggregatedMoveToDescriptor * myAggregatedMoveToDescriptor
Definition: aggregatedMoveToController.h:261
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtAggregatedMoveToController is a controller that models movement to a <location> or <waypoint> for a...
Definition: aggregatedMoveToController.h:42
double myEstimatedTotValue
Definition: aggregatedMoveToController.h:246
class DtAggregatedMoveToPSR:
Definition: aggregatedMoveToPSR.h:28
DtAggregatedMoveToPSR * myProcessState
Container for state data associated with this component. This state is saved and restored as part of ...
Definition: aggregatedMoveToController.h:259
virtual const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
Instances of DtBooleanOutputPort are output ports through which data producers can send boolean data...
Definition: boolIOPort.h:45
bool myDestinationVectorIsValid
Definition: aggregatedMoveToController.h:242
virtual void registerTaskMsgCallbacks()
DtVectorOutputPort * myDestinationOutputPort
Output Port Name: destination Output Port Description: Specifies the current destination of the entit...
Definition: aggregatedMoveToController.h:230
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:22
DtVector myWorldDestination
Definition: aggregatedMoveToController.h:239
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
DtOutputPortGroup * myOutputPortGroup
Output Group Name: movement-control .
Definition: aggregatedMoveToController.h:223
Definition: readerWriterRegistry.h:39
DtVector myEstimatedTotTextPos
tot text position
Definition: aggregatedMoveToController.h:253
DtOutputPortGroup is a data port group of a data provider. It may contain any number of DtOutputPorts...
Definition: outputPortGroup.h:34
DtSimObjectReference myControlPoint
This is looked up once per tick - assumed unchanging while we have control.
Definition: aggregatedMoveToController.h:236
DtBooleanOutputPort * myRetrogradeOutputPort
Definition: aggregatedMoveToController.h:267
DtVrfAggregateStateRepository * myAggregateStateRepository
Definition: aggregatedMoveToController.h:255
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick. Implemented by subclasses. ...
Definition: simComponent.h:443
virtual bool init() override
Calls setRadio()
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
Instances of DtAnalogOutputPort are input ports through which data producers can send real numbers...
Definition: analogIOPort.h:45
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
File: simMsg.h.
Definition: simMessage.h:35
DtVector myLocalDestination
Definition: aggregatedMoveToController.h:238
DtVector myDestinationVector
Definition: aggregatedMoveToController.h:241
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
virtual bool createPorts()
Called by init. Derived classes should override this method to create all their input/output ports an...
DtAnalogOutputPort * myMovementDirectionOutputPort
Output Port Name: desired-movement-direction Output Port Description: Specifies the current movement ...
Definition: aggregatedMoveToController.h:214
virtual bool createPortGroups()
Called by init. Derived classes should override this method to create all their input/output port gro...
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
This class manages the distribution of DtSetDataRequests within a single DtLocalObject. Components of the object, or other parts of the code, register interested in particular types of set data messages and when such a message is processed by the DtSetDataManager, each of the registered parties is notified.
Definition: setDataManager.h:48
bool myAtDestination
Definition: aggregatedMoveToController.h:244
DtAggregatedMoveToDescriptor; descriptor for the DtAggregatedMoveToDescriptor component.
Definition: aggregatedMoveToDescriptor.h:21
DtAnalogOutputPort * mySpeedOutputPort
Output Port Name: desired-speed Output Port Description: Specifies the current speed of the entity in...
Definition: aggregatedMoveToController.h:220
virtual void clearTask() override
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
DtSetDataManager * mySetDataManager
Pointer to aggregate's DtSetDataManager, cached in this class for convenience.
Definition: aggregatedMoveToController.h:265
double myDistanceSquared
Definition: aggregatedMoveToController.h:245
void processSetLocation(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)
Definition: vrfAggregateStateRepository.h:21
The top level class of a VR-Forces Simulation Engine, representing a Computer Generated Forces instan...
Definition: cgf.h:156
double myEstimatedTotLastCalcTime
Definition: aggregatedMoveToController.h:247
A locally simulated VRF object.
Definition: localObject.h:98