VR-Forces 4.2 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
scriptReactiveTaskController.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2013 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
#pragma once
6
7
#include "
vrfobjcore/vrfobjcoreDefines.h
"
8
9
#include "
vrfobjcore/scriptReactiveTaskControllerPSR.h
"
10
#include "
vrfmsgs/simMsg.h
"
11
#include "
vrfmsgs/setDtaRqMsg.h
"
12
#include "
vrfobjcore/scriptInterface.h
"
13
#include "
vrfobjcore/scriptTaskControllerInterface.h
"
14
#include "
vrftasks/scriptedTaskTask.h
"
15
#include <set>
16
#include "
vrftasks/setReactiveTaskCancel.h
"
17
#include "
vrftasks/setReactiveTaskDisabled.h
"
18
#include "
vrftasks/setReactiveTaskPriority.h
"
19
#include <
vrftasks/setReactiveTaskTable.h
>
20
#include "
vrftasks/setReactiveTaskEnabled.h
"
21
#include <boost/shared_ptr.hpp>
22
#include "
vrfobjcore/scriptInterfaceHandler.h
"
23
#include "
vrfobjcore/scriptedTaskManager.h
"
24
#include "
vrfobjcore/cntrlCmpnt.h
"
25
26
class
DtRwVariableBindings
;
27
29
//
35
//
41
//
46
//
50
51
class
DT_DLL_vrfobjcore
DtScriptReactiveTaskController
:
public
DtControllerComponent
,
public
DtScriptTaskControllerInterface
52
{
53
public
:
54
DtScriptReactiveTaskController
(
const
DtString
& name,
55
DtVrfObject
* owner,
DtSimManager
* simManager,
DtComponentDescriptor
* desc,
56
DtReaderWriterRegistry
* parentRegistry);
57
58
virtual
~
DtScriptReactiveTaskController
();
59
60
virtual
DtString
type
()
const
;
61
62
virtual
bool
init
();
63
64
virtual
void
preFirstTickInit
();
65
66
virtual
void
tick
();
67
68
virtual
std::list<DtScriptedTaskTask> reactiveTaskStatus()
const
;
69
70
virtual
bool
isReactiveTaskEnabled(
const
DtString
& scriptId)
const
;
71
virtual
void
notifySuspend(
const
DtString
& scriptId,
int
taskId);
72
virtual
void
notifyResume(
const
DtString
& scriptId,
int
taskId);
73
virtual
void
processReturnScriptInterface(
const
DtString
& scriptId,
int
taskId, boost::shared_ptr<DtScriptInterface> iFace);
74
75
static
void
setReactiveTaskCallback(
DtSimMessage
* msg,
void
* usr);
76
static
void
scriptUpdatedCallback(
const
DtScriptedTaskManagerCallbackInfo
& info,
void
* usr);
77
79
virtual
void
scriptSetTickPeriod
(
const
DtString
& scriptId,
double
period);
80
virtual
void
scriptTaskComplete
(
int
taskId,
bool
success);
81
virtual
int
scriptSendSubtask
(
DtSimTask
&
task
,
int
parentTaskId);
82
virtual
std::vector<int>
scriptPendingSubstaskIds
(
int
taskId);
83
virtual
DtSubtaskStatusEntry
*
scriptSubtaskStatus
(
int
subtaskId,
int
parentTaskId);
84
virtual
void
scriptClearSubtask
(
int
subtaskId,
int
parentTaskId);
85
virtual
int
scriptSendTask
(
DtSimTask
& task,
const
DtString
& entityName,
int
parentTaskId,
bool
actAsSubtask =
true
);
86
87
virtual
void
notifyScriptTaskError
(
const
DtString
& scriptId,
int
taskId);
89
90
virtual
bool
createPSR();
91
92
static
DtSimComponent
* creator(
const
DtString
& name,
93
DtVrfObject
* owner,
DtSimManager
* simManager,
DtComponentDescriptor
* desc,
94
DtReaderWriterRegistry
* parentRegistry);
95
96
protected
:
97
DtScriptReactiveTaskController
();
98
DtScriptReactiveTaskController
(
const
DtScriptReactiveTaskController
& other);
99
DtScriptReactiveTaskController
&
operator=
(
const
DtScriptReactiveTaskController
& other);
100
101
virtual
bool
shouldInvokeCheck(
DtRwScriptReactiveTaskEntry
* entry);
102
103
virtual
DtRwScriptReactiveTaskEntry
* createDefaultEntry(
const
DtString
& scriptId);
104
virtual
bool
createAndInitScriptInterface(
DtRwScriptReactiveTaskEntry
* entry,
DtRwVariableBindings
* params,
bool
loadState =
false
);
105
106
virtual
void
activateReactiveTask(
DtRwScriptReactiveTaskEntry
* entry);
107
virtual
void
disableReactiveTask(
DtRwScriptReactiveTaskEntry
* entry,
bool
cancelActive);
108
109
virtual
void
processSetReactiveTaskCallback(
DtSetDataRequest
* setMsg);
110
virtual
void
processSetCancel(
DtSetReactiveTaskCancel
* setMsg);
111
virtual
void
processSetDisabled(
DtSetReactiveTaskDisabled
* setMsg);
112
virtual
void
processSetEnabled(
DtSetReactiveTaskEnabled
* setMsg);
113
virtual
void
processSetPriority(
DtSetReactiveTaskPriority
* setMsg);
114
virtual
void
processSetTable(
DtSetReactiveTaskTable
* setMsg);
115
116
virtual
void
setupReactiveTasks();
117
118
virtual
void
processScriptUpdatedCallback(
const
DtScriptedTaskManagerCallbackInfo
& info);
119
120
virtual
bool
doesScriptIdApply(
const
DtString
& scriptId)
const
;
121
virtual
bool
isForMyEntityType(
const
DtScriptedTaskMetaData
& metaData)
const
;
122
123
DtScriptReactiveTaskControllerPSR
*
myProcessState
;
124
DtForceType
myCurrentForceType
;
125
};
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
)