VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
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/moveToLocTask.h
"
15
#include "
vrftasks/moveToTask.h
"
16
#include "
vrftasks/followEnt.h
"
17
#include "
vrftasks/mvAlongTask.h
"
18
#include "
vrftasks/planAndMoveToTask.h
"
19
#include "
vrftasks/planAndMoveToLocTask.h
"
20
#include "
vrftasks/radioMsgTypes.h
"
21
#include "
vrftasks/vrftasksDefines.h
"
22
#include "
vrftasks/railMoveAlongTask.h
"
23
#include "
vrftasks/turnToTask.h
"
24
#include "
vrftasks/patrolRteTask.h
"
25
#include "
vrftasks/patrolPtTask.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 Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)