VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
vrfObjPlanMgr.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2007 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#ifndef vrfObjPlanMgr_H_
10
#define vrfObjPlanMgr_H_
11
12
#include "
vrfobjcore/vrfObjPlanMgrFact.h
"
13
14
class
DtPlan
;
15
class
DtPlanExecutor
;
16
class
DtSimBlock
;
17
class
DtSimCondExpr
;
18
class
DtSimMessage
;
19
class
DtSimulationAddress;
20
class
DtVrfObjectMessage
;
21
class
DtIfPlan
;
22
class
DtTaskMessage
;
23
32
33
#include "
vrfobjcore/vrfobjcoreDefines.h
"
34
class
DT_DLL_vrfobjcore
DtVrfObjectPlanManager
35
{
36
public
:
37
39
DtVrfObjectPlanManager
(
DtVrfObject
* vrfObject);
40
42
virtual
~
DtVrfObjectPlanManager
();
43
45
virtual
bool
init
();
46
49
virtual
void
tick();
50
53
virtual
DtPlanExecutor
* createPlanExecutor();
54
59
virtual
DtPlan
* createAndInitPlan();
60
62
virtual
DtPlan
* plan();
63
66
virtual
void
setPlan(
DtPlan
* plan);
67
71
virtual
bool
sendPlan();
72
75
virtual
bool
sendPlanStatement(
int
statementId,
76
const
DtSimulationAddress& address)
const
;
77
82
virtual
void
updatePlanNames();
83
85
virtual
void
updatePlanNames(
DtSimBlock
* block);
86
89
virtual
void
updatePlanNames(
DtSimCondExpr
* condExpr);
90
92
virtual
void
setTaskIssuedFromPlan(
bool
taskIssuedFromPlan);
93
106
virtual
void
taskExecuted(
const
DtTaskMessage
& msg,
bool
abandonPlan =
true
);
107
109
static
DtVrfObjectPlanManagerFactory
* factory();
111
static
void
setFactory(
DtVrfObjectPlanManagerFactory
* factory);
112
115
virtual
void
processSetPlan(
DtSimMessage
* msg);
116
virtual
void
processSetPlan(
DtIfPlan
* msgData);
117
122
virtual
void
processRequestPlan(
const
DtSimMessage
* msg);
123
126
virtual
void
processAbandonPlan(
DtSimMessage
* msg);
127
130
virtual
void
processRestartPlan(
DtSimMessage
* msg);
131
134
static
void
currentStatementChangedCallback(
const
DtPlan
& plan,
135
void
* usrData);
138
virtual
void
processCurrentStatementChanged(
const
DtPlan
& plan);
139
142
static
DtVrfObjectPlanManager
* creator(
DtVrfObject
* vrfObject);
143
148
static
DtVrfObjectPlanManager
* createVrfObjectPlanManager(
149
const
DtString
& type,
DtVrfObject
* vrfObject);
150
154
virtual
bool
hasPlan()
const
;
155
157
virtual
bool
executingPlan()
const
;
158
161
virtual
void
notifyTaskCompletion(
int
taskId);
162
163
protected
:
164
166
DtVrfObjectPlanManager
();
167
169
DtVrfObjectPlanManager
(
const
DtVrfObjectPlanManager
& orig);
170
172
DtVrfObjectPlanManager
& operator=(
const
DtVrfObjectPlanManager
& orig);
173
174
protected
:
175
176
DtPlan
*
myPlan
;
177
DtPlanExecutor
*
myPlanExecutor
;
178
DtVrfObject
*
myVrfObject
;
179
bool
myTaskIssuedFromPlan
;
180
bool
myPlanQueuedForAbandonment
;
181
183
static
DtVrfObjectPlanManagerFactory
*
theFactory
;
184
};
185
186
#endif
187
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)