VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vRFMovementTask.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
15 #include "vrftasks/moveToTask.h"
26 
28 class DtString;
29 class DtSimTask;
30 
36 //template <class OriginalMovementTask, class NewMovementTaskClassType>
37 template <class OriginalTask, class NewTaskTypeFunctor>
39 {
40 public:
43  : OriginalTask()
44  {};
45 
47  DtVRFMovementTask(const DtString& writeName, DtReaderWriterRegistry* parentRegistry = 0)
48  : OriginalTask(writeName, parentRegistry)
49  {};
50 
52  DtVRFMovementTask(const DtString& writeName, const DtVRFMovementTask& orig,
53  DtReaderWriterRegistry * parentRegistry = 0)
54  : OriginalTask(writeName, orig, parentRegistry)
55  {};
56 
57 
60  {
61  if (this == & orig)
62  {
63  return *this;
64  }
65  OriginalTask::operator=(orig);
66  return *this;
67  };
68 
70  virtual ~DtVRFMovementTask()
71  {};
72 
74  virtual const DtSimTaskMessageType& type() const
75  {
76  return NewTaskTypeFunctor()();
77  };
78 
80  virtual DtSimTask* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const
81  {
82  return new DtVRFMovementTask(name, *this, parentRegistry);
83  };
84 
86  static DtSimTask* creator()
87  {
88  return new DtVRFMovementTask();
89  };
90 };
91 
93 {
94 public:
96 };
97 
99 {
100 public:
102 };
103 
105 {
106 public:
108 };
109 
111 {
112 public:
114 };
115 
117 {
118 public:
120 };
121 
123 {
124 public:
126 };
127 
129 {
130 public:
132 };
133 
135 {
136 public:
138 };
139 
141 {
142 public:
144 };
145 
147 {
148 public:
150 };
151 
152 
DtVRFMovementTask< DtRailMoveAlongTask, DtVrfRailMoveAlongTaskTypeFunctor > DtVrfRailMoveAlongTask
Definition: vRFMovementTask.h:156
const DtSimTaskMessageType DtVrfPlanAndMoveToLocationTaskType("vrf-plan-and-move-to-location")
Definition: vRFMovementTask.h:128
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:95
DtVRFMovementTask(const DtString &writeName, const DtVRFMovementTask &orig, DtReaderWriterRegistry *parentRegistry=0)
Copy constructor.
Definition: vRFMovementTask.h:52
DtVRFMovementTask< DtPlanAndMoveToTask, DtVrfPlanAndMoveToTaskTypeFunctor > DtVrfPlanAndMoveToTask
Definition: vRFMovementTask.h:158
virtual DtSimTask * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const
Creates a copy of this move-to task.
Definition: vRFMovementTask.h:80
DtVRFMovementTask< DtTurnToHeadingTask, DtVrfTurnToHeadingTaskTypeFunctor > DtVrfTurnToHeadingTask
Definition: vRFMovementTask.h:160
DtVRFMovementTask< DtFollowEntityTask, DtVrfFollowEntityTaskTypeFunctor > DtVrfFollowEntityTask
Definition: vRFMovementTask.h:153
DtVRFMovementTask(const DtString &writeName, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
Definition: vRFMovementTask.h:47
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:149
const DtSimTaskMessageType DtVrfTurnToHeadingTaskType("vrf-turn-to-heading")
Definition: vRFMovementTask.h:92
const DtSimTaskMessageType DtVrfMoveToLocationTaskType("vrf-move-to-location-task")
Definition: vRFMovementTask.h:116
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:101
DtVRFMovementTask< DtMoveToTask, DtVrfMoveToWaypointTaskTypeFunctor > DtVrfMoveToWaypointTask
Definition: vRFMovementTask.h:155
const DtSimTaskMessageType DtVrfRailMoveAlongTaskType("vrf-rail-move-along-task")
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:143
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:125
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:119
Definition: readerWriterRegistry.h:39
DtVRFMovementTask< DtMoveToLocationTask, DtVrfMoveToLocationTaskTypeFunctor > DtVrfMoveToLocationTask
Definition: vRFMovementTask.h:157
virtual ~DtVRFMovementTask()
Destructor.
Definition: vRFMovementTask.h:70
Definition: vRFMovementTask.h:110
Definition: vRFMovementTask.h:122
const DtSimTaskMessageType DtVrfMoveToWaypointTaskType("vrf-move-to-waypoint")
These &quot;vrf&quot; task messages are handled in the main part of VRF, after the movement-chooser handles the...
Definition: vRFMovementTask.h:98
const DtVRFMovementTask & operator=(const DtVRFMovementTask &orig)
Assignment operator.
Definition: vRFMovementTask.h:59
Definition: vRFMovementTask.h:140
const DtSimTaskMessageType DtVrfPlanAndMoveToTaskType("vrf-plan-and-move-to")
DtVRFMovementTask()
Default constructor.
Definition: vRFMovementTask.h:42
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:107
const DtSimTaskMessageType DtVrfMoveAlongRouteTaskType("vrf-move-along")
Definition: vRFMovementTask.h:134
const DtSimTaskMessageType DtVrfPatrolTwoPointsTaskType("vrf-patrol-two-points-task")
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
DtVRFMovementTask< DtPatrolTwoPointsTask, DtVrfPatrolTwoPointsTaskTypeFunctor > DtVrfPatrolTwoPointsTask
Definition: vRFMovementTask.h:162
static DtSimTask * creator()
Static creator.
Definition: vRFMovementTask.h:86
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
const DtSimTaskMessageType DtVrfPatrolRouteTaskType("vrf-patrol-route-task")
DtVRFMovementTask< DtPlanAndMoveToLocationTask, DtVrfPlanAndMoveToLocationTaskTypeFunctor > DtVrfPlanAndMoveToLocationTask
Definition: vRFMovementTask.h:159
DtVRFMovementTask< DtMoveAlongTask, DtVrfMoveAlongRouteTaskTypeFunctor > DtVrfMoveAlongRouteTask
Definition: vRFMovementTask.h:154
Definition: vRFMovementTask.h:104
Definition: vRFMovementTask.h:146
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:113
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
Templated class that represents the various specializations of vrforces tasks.
Definition: vRFMovementTask.h:38
const DtSimTaskMessageType DtVrfFollowEntityTaskType("vrf-follow-entity")
virtual const DtSimTaskMessageType & type() const
Returns the DtVrfMoveToType task type.
Definition: vRFMovementTask.h:74
DtVRFMovementTask< DtPatrolRouteTask, DtVrfPatrolRouteTaskTypeFunctor > DtVrfPatrolRouteTask
Definition: vRFMovementTask.h:161
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:131
const DtSimTaskMessageType & operator()() const
Definition: vRFMovementTask.h:137

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)