51 virtual bool init()
override;
55 virtual const char*
type()
const override;
58 virtual void tick()
override;
64 static void setSpeedRequiredCallback(
DtSimMessage * msg,
void * usr);
87 virtual bool createPSR();
91 virtual void createTimeEstimator();
95 static void taskCompleteReportCallback(
DtSimMessage * msg,
void * usr);
99 static void moveAlongWithActionsTaskCallback(
DtSimMessage* msg,
void* usr);
100 virtual void processMoveAlongWithActionsTask(
DtSimMessage* msg);
104 static void deleteVrfObjectCallback(
const DtLocalObject* msg,
void * usr);
105 virtual void processDeleteVrfObjectCallback(
const DtLocalObject* obj);
109 virtual void processRouteChanged(
const DtSimObject* obj);
116 virtual void executeCurrentAction();
122 virtual void executeHold();
126 virtual void executeTargetAction();
129 virtual void updateCurrentAction();
132 virtual void proceedToNextLeg(
const DtVector& position);
137 virtual bool passedPosition(
const DtVector& position);
141 virtual void traverseLegActions(
bool stop =
false);
144 virtual void getActionLocalPosition(
double routePosition,
const DtVector& startPoint,
const DtVector& endPoint, DtVector& localPosition);
147 virtual bool passedHoldPosition();
150 virtual bool passedTargetPosition();
154 virtual void estimateTimeOnTarget();
158 virtual void updateHoldAndTargetPointLocations();
161 virtual double timeOnTargetWindow()
const;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Performs time estimates for move along route with actions tasks. Based on settings for the entity's s...
Definition: moveAlongRouteTimeEstimator.h:50
virtual const char * type() const override=0
Returns a string identifies the class type of component. Type values are defined in compTypes...
DtUUID myActionObj
Definition: moveAlongWithActionsController.h:197
double myMaxSpeed
Definition: moveAlongWithActionsController.h:202
double myHoldUntilTime
Definition: moveAlongWithActionsController.h:204
virtual void registerTaskMsgCallbacks()
double myEstTimeOnTarget
Definition: moveAlongWithActionsController.h:206
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
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: moveAlongWithActionsPSR.h:34
DtMoveAlongWithActionsPSR * myProcessState
Container for state data associated with this component. This state is saved and restored as part of ...
Definition: moveAlongWithActionsController.h:181
Definition: readerWriterRegistry.h:39
double myEstRequiredSpeed
Definition: moveAlongWithActionsController.h:205
std::vector< double > myLastTaskVisVertexTimes
Definition: moveAlongWithActionsController.h:208
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick. Implemented by subclasses. ...
Definition: simComponent.h:443
virtual bool init() override
Calls setRadio()
std::vector< double > myEstVertexTimes
Definition: moveAlongWithActionsController.h:207
Definition: routeLegActionsEntry.h:29
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
DtVectorInputPort * myCurrentVertexLocationInputPort
Input Port Name: current-vertex-location Input Port Description: Specifies the current vertex locatio...
Definition: moveAlongWithActionsController.h:188
DtMovementLocalObjectFacade myMovementLocalObjectFacade
Definition: moveAlongWithActionsController.h:209
bool myEnableActions
Definition: moveAlongWithActionsController.h:195
virtual bool createPorts()
Called by init. Derived classes should override this method to create all their input/output ports an...
Definition: moveAlongWithActionsController.h:35
DtVector myCurrentActionPosition
Definition: moveAlongWithActionsController.h:193
DtMoveAlongRouteTimeEstimator * myEstimator
Definition: moveAlongWithActionsController.h:199
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
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:80
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
Definition: routeAction.h:35
virtual void clearTask() override
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
double myMinSpeed
Definition: moveAlongWithActionsController.h:201
DtVector myCurrentVertexLocation
current vertex position
Definition: moveAlongWithActionsController.h:191
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
A locally simulated VRF object.
Definition: localObject.h:98