VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vrfmodel
aggregatedPatrolController.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2004 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
12
13
#pragma once
14
15
#include "
vrfobjcore/singleTaskControllerComponent.h
"
16
#include "
vrfmodel/vrfmodelDefines.h
"
17
18
class
DtFormationState
;
19
class
DtAggregatedPatrolPSR
;
20
class
DtVrfObjectManager
;
21
32
class
DT_DLL_vrfmodel
DtAggregatedPatrolController
:
public
DtSingleTaskControllerComponent
33
{
34
public
:
35
36
enum
DtPatrolAlongState
37
{
38
DtMovingAlongRoute = 0,
39
DtReversingDirection = 1
40
};
41
44
DtAggregatedPatrolController
(
const
DtString
& name,
45
DtVrfObject
* owner,
46
DtSimManager
* simManager,
47
DtComponentDescriptor
* desc = 0,
48
DtReaderWriterRegistry
* parentRegistry = 0);
49
51
virtual
~
DtAggregatedPatrolController
();
52
55
virtual
const
char
*
type
()
const
;
56
59
virtual
bool
init
();
60
62
virtual
void
registerTaskMsgCallbacks
();
63
64
static
void
patrolCallback(
DtSimMessage
* msg,
void
* usr,
DtSimTaskStatePtr
taskStatePtr);
65
68
DtSimTaskStatePtr
currentTaskState
()
const
;
69
74
static
void
taskCompleteReportCallback(
DtSimMessage
* msg,
void
* usr);
75
79
static
DtSimComponent
* creator(
const
DtString
& name,
80
DtVrfObject
* owner,
81
DtSimManager
* simManager,
82
DtComponentDescriptor
* desc = 0,
83
DtReaderWriterRegistry
* parentRegistry = 0);
84
85
protected
:
86
virtual
void
processPatrol(
const
DtTaskMessage
& msg,
DtSimTaskStatePtr
taskStatePtr);
87
92
virtual
void
processPatrolTwoPointsTask(
DtSimTask
*
task
,
DtSimTaskStatePtr
taskStatePtr);
93
101
virtual
void
onTaskComplete(
DtSimMessage
* msg);
102
110
virtual
bool
moveTo(
const
DtUUID
& controlPoint);
111
115
virtual
void
processPatrolAlongTask(
DtSimTask
*
task
,
DtSimTaskStatePtr
taskStatePtr);
116
122
virtual
bool
createPSR();
123
131
virtual
DtIteratorDirection
initialTraversalDirection(
132
const
DtUUID
& route,
const
DtVector
& initialWorldPosition)
const
;
133
142
virtual
void
sendMoveAlongToSelf(
const
DtUUID
& route,
143
enum
DtIteratorDirection
traversalDirection,
bool
startAtClosestPoint);
144
145
private
:
146
148
DtAggregatedPatrolController
(
const
DtAggregatedPatrolController
& orig);
149
151
DtAggregatedPatrolController
&
operator=
(
const
DtAggregatedPatrolController
& orig);
152
protected
:
153
156
DtAggregatedPatrolPSR
*
myProcessState
;
157
};
158
Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)