VR-Forces 4.6.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrftasks
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/moveToLocationTasks.h
"
15
#include "
vrftasks/moveToTask.h
"
16
#include "
vrftasks/followEntityTask.h
"
17
#include "
vrftasks/moveAlongTasks.h
"
18
#include "
vrftasks/planAndMoveToTask.h
"
19
#include "
vrftasks/planAndMoveToLocationTask.h
"
20
#include "
vrftasks/radioMessageTypes.h
"
21
#include "
vrftasks/vrftasksDefines.h
"
22
#include "
vrftasks/railMoveAlongTask.h
"
23
#include "
vrftasks/turnToHeadingTask.h
"
24
#include "
vrftasks/patrolRouteTask.h
"
25
#include "
vrftasks/patrolTwoPointsTask.h
"
26
27
class
DtReaderWriterRegistry
;
28
class
DtString
;
29
class
DtSimTask
;
30
36
//template <class OriginalMovementTask, class NewMovementTaskClassType>
37
template
<
class
OriginalTask,
class
NewTaskTypeFunctor>
38
class
DT_DLL_vrftasks
DtVRFMovementTask
:
public
OriginalTask
39
{
40
public
:
42
DtVRFMovementTask
()
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
59
const
DtVRFMovementTask
& operator=(
const
DtVRFMovementTask
& orig)
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
92
class
DtVrfFollowEntityTaskTypeFunctor
93
{
94
public
:
95
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfFollowEntityTaskType
; }
96
};
97
98
class
DtVrfMoveAlongRouteTaskTypeFunctor
99
{
100
public
:
101
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfMoveAlongRouteTaskType
; }
102
};
103
104
class
DtVrfMoveToWaypointTaskTypeFunctor
105
{
106
public
:
107
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfMoveToWaypointTaskType
; }
108
};
109
110
class
DtVrfRailMoveAlongTaskTypeFunctor
111
{
112
public
:
113
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfRailMoveAlongTaskType
; }
114
};
115
116
class
DtVrfMoveToLocationTaskTypeFunctor
117
{
118
public
:
119
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfMoveToLocationTaskType
; }
120
};
121
122
class
DtVrfPlanAndMoveToTaskTypeFunctor
123
{
124
public
:
125
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfPlanAndMoveToTaskType
; }
126
};
127
128
class
DtVrfPlanAndMoveToLocationTaskTypeFunctor
129
{
130
public
:
131
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfPlanAndMoveToLocationTaskType
; }
132
};
133
134
class
DtVrfTurnToHeadingTaskTypeFunctor
135
{
136
public
:
137
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfTurnToHeadingTaskType
; }
138
};
139
140
class
DtVrfPatrolRouteTaskTypeFunctor
141
{
142
public
:
143
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfPatrolRouteTaskType
; }
144
};
145
146
class
DtVrfPatrolTwoPointsTaskTypeFunctor
147
{
148
public
:
149
const
DtSimTaskMessageType
&
operator()
()
const
{
return
DtVrfPatrolTwoPointsTaskType
; }
150
};
151
152
153
typedef
DtVRFMovementTask<DtFollowEntityTask, DtVrfFollowEntityTaskTypeFunctor>
DtVrfFollowEntityTask
;
154
typedef
DtVRFMovementTask<DtMoveAlongTask, DtVrfMoveAlongRouteTaskTypeFunctor>
DtVrfMoveAlongRouteTask
;
155
typedef
DtVRFMovementTask<DtMoveToTask, DtVrfMoveToWaypointTaskTypeFunctor>
DtVrfMoveToWaypointTask
;
156
typedef
DtVRFMovementTask<DtRailMoveAlongTask, DtVrfRailMoveAlongTaskTypeFunctor>
DtVrfRailMoveAlongTask
;
157
typedef
DtVRFMovementTask<DtMoveToLocationTask, DtVrfMoveToLocationTaskTypeFunctor>
DtVrfMoveToLocationTask
;
158
typedef
DtVRFMovementTask<DtPlanAndMoveToTask, DtVrfPlanAndMoveToTaskTypeFunctor>
DtVrfPlanAndMoveToTask
;
159
typedef
DtVRFMovementTask<DtPlanAndMoveToLocationTask, DtVrfPlanAndMoveToLocationTaskTypeFunctor>
DtVrfPlanAndMoveToLocationTask
;
160
typedef
DtVRFMovementTask<DtTurnToHeadingTask,DtVrfTurnToHeadingTaskTypeFunctor>
DtVrfTurnToHeadingTask
;
161
typedef
DtVRFMovementTask<DtPatrolRouteTask, DtVrfPatrolRouteTaskTypeFunctor>
DtVrfPatrolRouteTask
;
162
typedef
DtVRFMovementTask<DtPatrolTwoPointsTask, DtVrfPatrolTwoPointsTaskTypeFunctor>
DtVrfPatrolTwoPointsTask
;
Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)