VR-Forces 4.2 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfmodel
humanPatrolController.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
DtHumanPatrolPSR
;
20
class
DtVrfObjectManager
;
21
32
class
DT_DLL_vrfmodel
DtHumanPatrolController
:
public
DtSingleTaskControllerComponent
33
{
34
public
:
35
36
enum
DtPatrolAlongState
37
{
38
DtMovingAlongRoute = 0,
39
DtReversingDirection = 1
40
};
41
44
DtHumanPatrolController
(
const
DtString
& name,
45
DtVrfObject
* owner,
46
DtSimManager
* simManager,
47
DtComponentDescriptor
* desc = 0,
48
DtReaderWriterRegistry
* parentRegistry = 0);
49
51
virtual
~
DtHumanPatrolController
();
52
55
virtual
DtString
type
()
const
;
56
59
virtual
bool
init
();
60
62
virtual
void
registerTaskMsgCallbacks
();
63
64
static
void
patrolCallback(
DtSimMessage
* msg,
void
* usr,
DtSimTaskStatePtr
taskStatePtr);
65
66
virtual
DtSimTaskStatePtr
currentTaskState
()
const
;
67
72
static
void
taskCompleteReportCallback(
DtSimMessage
* msg,
void
* usr);
73
77
static
DtSimComponent
* creator(
const
DtString
& name,
78
DtVrfObject
* owner,
79
DtSimManager
* simManager,
80
DtComponentDescriptor
* desc = 0,
81
DtReaderWriterRegistry
* parentRegistry = 0);
82
83
protected
:
84
virtual
void
processPatrol(
const
DtTaskMessage
& msg,
DtSimTaskStatePtr
taskStatePtr);
85
90
virtual
bool
processPatrolTwoPointsTask(
DtSimTask
*
task
,
DtSimTaskStatePtr
taskStatePtr);
91
95
virtual
bool
processPatrolAlongTask(
DtSimTask
*
task
,
DtSimTaskStatePtr
taskStatePtr);
96
104
virtual
void
onTaskComplete(
DtSimMessage
* msg);
105
113
virtual
bool
moveTo(
const
DtString
& controlPointName);
114
120
virtual
bool
createPSR();
121
129
virtual
DtIteratorDirection
initialTraversalDirection(
130
const
DtString
& routeName,
const
DtVector
& initialWorldPosition)
const
;
131
140
virtual
void
sendMoveAlongToSelf(
const
DtString
& routeName,
141
enum
DtIteratorDirection
traversalDirection
,
bool
startAtClosestPoint);
142
143
private
:
144
146
DtHumanPatrolController
(
const
DtHumanPatrolController
& orig);
147
149
DtHumanPatrolController
&
operator=
(
const
DtHumanPatrolController
& orig);
150
151
protected
:
152
155
DtHumanPatrolPSR
*
myProcessState
;
156
};
Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)