VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
groundMovementChooserController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 
13 
20 
21 class DtMoveToTask;
23 class DtMoveAlongTask;
25 class DtFollowEntityTask;
30 class DtRailRouteTask;
31 
32 
42 {
43 private:
44 
51 
52 public:
56  DtSimulationServices* simManager, DtComponentDescriptor* desc = NULL,
57  DtReaderWriterRegistry* parentRegistry = NULL);
58 
60 
61  virtual bool init();
62 
63  virtual bool createPSR();
64 
67  virtual const char* type() const;
68 
71  virtual void registerTaskMsgCallbacks();
72 
74  virtual bool postAddComponentsInit();
75 
78  static void movementTaskCallback(DtSimMessage* msg, void* usr, DtSimTaskStatePtr taskStatePtr);
79 
81  virtual void processMovementTask(DtSimMessage * msg, DtSimTaskStatePtr taskStatePtr);
82 
85  static void taskCompleteReportCallback(DtSimMessage* msg, void* usr);
86 
90  virtual void processTaskCompleteReport(DtSimMessage* msg);
91 
92  virtual void suspendTask(int taskId);
93 
94  virtual DtSimTaskStatePtr currentTaskState(int taskId) const;
95 
96 protected:
97 
99  virtual void processMovementTask(DtFollowEntityTask* taskMsg, int taskId);
100 
102  virtual void processMovementTask(DtMoveAlongTask* taskMsg, int taskId);
103 
109  virtual void processMovementTask(DtRailRouteTask* taskMsg,int taskId);
110 
113  virtual void processMovementTask(DtRailMoveAlongTask* taskMsg, int taskId);
114 
116  virtual void processMovementTask(DtTaskMessage* taskMsg);
117 
119  virtual void processMovementTask(DtMoveToTask* taskMsg, int taskId);
120 
122  virtual void processMovementTask(DtMoveToLocationTask* taskMsg, int taskId);
123 
124  virtual void processMovementTask(DtTurnToHeadingTask* taskMsg, int taskId);
125 
126  virtual void processMovementTask(DtScriptedTaskTask* taskMsg, int taskId);
127 
129  virtual void processMovementTask(DtPatrolRouteTask* taskMsg, int taskId);
130 
132  virtual void processMovementTask(DtPatrolTwoPointsTask* taskMsg, int taskId);
133 
134 public:
135 
139  static DtSimComponent * creator(const DtString& name, DtLocalObject* owner,
140  DtSimulationServices* simManager, DtComponentDescriptor* desc = 0,
141  DtReaderWriterRegistry* parentRegistry = 0);
142 
143 protected:
145 };
146 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
File: planAndMoveToLocTask.h.
Definition: planAndMoveToLocationTask.h:36
virtual void registerTaskMsgCallbacks()
File: railPathTask.h.
Definition: railRouteTask.h:45
virtual void suspendTask(int taskId)
This method is called when the specified running task is being suspended. The default implementation ...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
File: moveToTask.h.
Definition: moveToTask.h:48
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: multiTaskControllerComponent.h:23
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component. Type values are defined in compTypes...
DtGroundMovementChooserPSR * myProcessState
Definition: groundMovementChooserController.h:144
DtFollowEntityTask represents a follow entity task for an entity to perform. It inherits read/writabl...
Definition: followEntityTask.h:57
DtBoost::shared_ptr< DtSimTaskState > DtSimTaskStatePtr
Definition: taskAndTaskStateDefines.h:18
This struct is the FIXED portion of the simulation network representation of a turn to heading task...
Definition: turnToHeadingTask.h:42
File: moveToLocTask.h.
Definition: moveToLocationTasks.h:34
Specialized classes.
Definition: scriptedTaskTask.h:274
virtual bool init()
Calls setRadio()
File: simMsg.h.
Definition: simMessage.h:35
DtMoveAlongTask represents a Move Along Route task for an entity to perform. It inherits read/writabl...
Definition: moveAlongTasks.h:46
Definition: groundMovementChooserPSR.h:22
File: planAndMoveToTask.h.
Definition: planAndMoveToTask.h:35
virtual DtSimTaskStatePtr currentTaskState(int taskId) const
This class controls the movement tasks for entities. It contains a heuristic to determine how the mov...
Definition: groundMovementChooserController.h:41
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
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
File: patrolPtTask.h.
Definition: patrolTwoPointsTask.h:44
File: patrolRteTask.h.
Definition: patrolRouteTask.h:45
File: railMoveAlongTask.h.
Definition: railMoveAlongTask.h:50
virtual bool postAddComponentsInit()
Calls enableTaskTypes()
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. 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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)