VR-Forces 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 
14 #include "vrftasks/moveToTask.h"
24 
26 class DtString;
27 class DtSimTask;
28 
34 //template <class OriginalMovementTask, class NewMovementTaskClassType>
35 template <class OriginalTask, class NewTaskTypeFunctor>
37 {
38 public:
41  : OriginalTask()
42  {};
43 
45  DtVRFMovementTask(const DtString& writeName, DtReaderWriterRegistry* parentRegistry = 0)
46  : OriginalTask(writeName, parentRegistry)
47  {};
48 
50  DtVRFMovementTask(const DtString& writeName, const DtVRFMovementTask& orig,
51  DtReaderWriterRegistry * parentRegistry = 0)
52  : OriginalTask(writeName, orig, parentRegistry)
53  {};
54 
55 
58  {
59  if (this == & orig)
60  {
61  return *this;
62  }
63  OriginalTask::operator=(orig);
64  return *this;
65  };
66 
68  virtual ~DtVRFMovementTask()
69  {};
70 
72  virtual const DtSimTaskMessageType& type() const
73  {
74  return NewTaskTypeFunctor()();
75  };
76 
78  virtual DtSimTask* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = 0) const
79  {
80  return new DtVRFMovementTask(name, *this, parentRegistry);
81  };
82 
84  static DtSimTask* creator()
85  {
86  return new DtVRFMovementTask();
87  };
88 };
89 
91 {
92 public:
94 };
95 
97 {
98 public:
100 };
101 
103 {
104 public:
106 };
107 
109 {
110 public:
112 };
113 
115 {
116 public:
118 };
119 
121 {
122 public:
124 };
125 
127 {
128 public:
130 };
131 
133 {
134 public:
136 };
137 
139 {
140 public:
142 };
143 
145 {
146 public:
148 };
149 
150 
const DtSimTaskMessageType DtVrfPlanAndMoveToLocationTaskType("vrf-plan-and-move-to-location")
Definition: vrfMovementTask.h:126
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:93
DtVRFMovementTask(const DtString &writeName, const DtVRFMovementTask &orig, DtReaderWriterRegistry *parentRegistry=0)
Copy constructor.
Definition: vrfMovementTask.h:50
virtual DtSimTask * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=0) const
Creates a copy of this move-to task.
Definition: vrfMovementTask.h:78
DtVRFMovementTask< DtMoveAlongTask, DtVrfMoveAlongRouteTaskTypeFunctor > DtVrfMoveAlongRouteTask
Definition: vrfMovementTask.h:152
DtVRFMovementTask(const DtString &writeName, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
Definition: vrfMovementTask.h:45
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:147
DtVRFMovementTask< DtMoveToTask, DtVrfMoveToWaypointTaskTypeFunctor > DtVrfMoveToWaypointTask
Definition: vrfMovementTask.h:153
const DtSimTaskMessageType DtVrfTurnToHeadingTaskType("vrf-turn-to-heading")
Definition: vrfMovementTask.h:90
const DtSimTaskMessageType DtVrfMoveToLocationTaskType("vrf-move-to-location-task")
Definition: vrfMovementTask.h:114
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:99
const DtSimTaskMessageType DtVrfRailMoveAlongTaskType("vrf-rail-move-along-task")
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:141
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:123
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:117
Definition: readerWriterRegistry.h:39
virtual ~DtVRFMovementTask()
Destructor.
Definition: vrfMovementTask.h:68
DtVRFMovementTask< DtRailMoveAlongTask, DtVrfRailMoveAlongTaskTypeFunctor > DtVrfRailMoveAlongTask
Definition: vrfMovementTask.h:154
DtVRFMovementTask< DtMoveToTask, DtVrfMoveToLocationTaskTypeFunctor > DtVrfMoveToLocationTask
Definition: vrfMovementTask.h:155
Definition: vrfMovementTask.h:108
Definition: vrfMovementTask.h:120
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:96
const DtVRFMovementTask & operator=(const DtVRFMovementTask &orig)
Assignment operator.
Definition: vrfMovementTask.h:57
Definition: vrfMovementTask.h:138
const DtSimTaskMessageType DtVrfPlanAndMoveToTaskType("vrf-plan-and-move-to")
DtVRFMovementTask()
Default constructor.
Definition: vrfMovementTask.h:40
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:105
DtVRFMovementTask< DtPatrolRouteTask, DtVrfPatrolRouteTaskTypeFunctor > DtVrfPatrolRouteTask
Definition: vrfMovementTask.h:159
const DtSimTaskMessageType DtVrfMoveAlongRouteTaskType("vrf-move-along")
Definition: vrfMovementTask.h:132
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< DtPlanAndMoveToTask, DtVrfPlanAndMoveToLocationTaskTypeFunctor > DtVrfPlanAndMoveToLocationTask
Definition: vrfMovementTask.h:157
DtVRFMovementTask< DtFollowEntityTask, DtVrfFollowEntityTaskTypeFunctor > DtVrfFollowEntityTask
Definition: vrfMovementTask.h:151
static DtSimTask * creator()
Static creator.
Definition: vrfMovementTask.h:84
#define DT_DLL_vrftasks
This file is used to determine how to build.
Definition: vrftasksDefines.h:26
const DtSimTaskMessageType DtVrfPatrolRouteTaskType("vrf-patrol-route-task")
Definition: vrfMovementTask.h:102
Definition: vrfMovementTask.h:144
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:111
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
DtVRFMovementTask< DtTurnToHeadingTask, DtVrfTurnToHeadingTaskTypeFunctor > DtVrfTurnToHeadingTask
Definition: vrfMovementTask.h:158
Templated class that represents the various specializations of vrforces tasks.
Definition: vrfMovementTask.h:36
DtVRFMovementTask< DtPatrolTwoPointsTask, DtVrfPatrolTwoPointsTaskTypeFunctor > DtVrfPatrolTwoPointsTask
Definition: vrfMovementTask.h:160
const DtSimTaskMessageType DtVrfFollowEntityTaskType("vrf-follow-entity")
virtual const DtSimTaskMessageType & type() const
Returns the DtVrfMoveToType task type.
Definition: vrfMovementTask.h:72
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:129
const DtSimTaskMessageType & operator()() const
Definition: vrfMovementTask.h:135
DtVRFMovementTask< DtPlanAndMoveToTask, DtVrfPlanAndMoveToTaskTypeFunctor > DtVrfPlanAndMoveToTask
Definition: vrfMovementTask.h:156

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)