VR-Forces 4.8 Class Documentation
 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  DtSimManager* 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, DtVrfObject* owner,
140  DtSimManager* 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
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:144
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
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.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
File: moveToTask.h.
Definition: moveToTask.h:43
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: multiTaskControllerComponent.h:25
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component.
DtGroundMovementChooserPSR * myProcessState
Definition: groundMovementChooserController.h:144
DtFollowEntityTask represents a follow entity task for an entity to perform.
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:41
File: moveToLocTask.h.
Definition: moveToLocationTasks.h:31
Specialized classes.
Definition: scriptedTaskTask.h:270
virtual bool init()
Calls setRadio()
File: simMsg.h.
Definition: simMessage.h:35
DtMoveAlongTask represents a Move Along Route task for an entity to perform.
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.
Definition: groundMovementChooserController.h:41
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
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
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
A DtTaskMsg is a DtRadioMsg with a pointer to a task.
Definition: taskMessage.h:19

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)