VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfplan
simBlock.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2018 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
9
#pragma once
10
11
class
DtSimBlock
;
12
13
#include "
vrfplan/vrfplanDefines.h
"
14
#include <mtl/mtl.h>
15
#include <vlutil/vlString.h>
16
#include "
vrfutil/rwIntrusiveList.h
"
17
#include "
vrfplan/stmtIndex.h
"
18
19
class
DtPlan
;
20
class
DtSimTrigger
;
21
class
DtSimStatement
;
22
class
DtRecursiveSimBlockIterator
;
23
29
class
DT_DLL_vrfplan
DtSimBlock
:
public
DtRwIntrusiveList
30
{
31
public
:
32
34
DtSimBlock
(
DtSimStatement
* parentStatement);
35
37
DtSimBlock
(
const
DtString
& name,
DtSimStatement
* parentStatement,
38
DtReaderWriterRegistry
* parentRegistry = NULL);
39
42
DtSimBlock
(
const
DtSimBlock
& orig);
43
46
DtSimBlock
(
const
DtString
& name,
47
const
DtSimBlock
& orig,
48
DtReaderWriterRegistry
* parentRegistry = NULL);
49
52
virtual
~
DtSimBlock
();
53
57
DtSimBlock
&
operator=
(
const
DtSimBlock
& orig);
58
62
virtual
DtSimBlock
* clone(
const
DtString
& name,
63
DtReaderWriterRegistry
* parentRegistry = NULL)
const
= 0;
64
67
DtSimBlock
* clone()
const
;
68
76
DtSimStatement
* firstStmt()
const
;
77
79
DtSimStatement
* lastStmt()
const
;
80
85
virtual
DtlObjPtr
getData
(DtlObjPtr args,
const
DtReaderWriter::SearchPaths
& searchPaths,
86
const
DtVariableBindingsList
& variableBindings);
87
98
virtual
void
exitFromBlock(
DtPlan
&) = 0;
99
104
virtual
bool
translateIndex(
DtStmtIndex
& stmtIndex);
105
109
virtual
void
translateIndices(DtList& stmtIndexList);
110
113
virtual
DtSimStatement
* lookupStatement(
DtStmtIdType
statementId);
114
118
virtual
DtRecursiveSimBlockIterator
* spawnRecursiveIterator()
const
;
119
122
virtual
bool
validate();
123
126
virtual
bool
isSameBlock(
DtSimBlock
* rhs);
127
129
void
setParentStatement(
DtSimStatement
*);
130
132
DtSimStatement
* parentStatement()
const
;
133
138
virtual
DtListItem*
addToList
(
DtRwListedObj
* data,
DtRwListedObj
* after);
139
141
virtual
void
upgradeTriggerUUID(
const
boost::unordered_map<DtUUID, DtUUID>&);
142
144
virtual
void
reset
();
145
146
protected
:
147
152
virtual
void
cloneListFrom(
const
DtSimBlock
& other);
153
154
protected
:
155
DtSimStatement
*
myParentStatement
;
156
};
157
159
160
inline
DtSimBlock
*
DtSimBlock::clone
()
const
161
{
162
return
clone
(
name
().
string
(), NULL);
163
}
164
165
inline
DtSimStatement
*
DtSimBlock::firstStmt
()
const
166
{
167
return
(
DtSimStatement
*)
firstObj
();
168
}
169
170
inline
DtSimStatement
*
DtSimBlock::lastStmt
()
const
171
{
172
return
(
DtSimStatement
*)
lastObj
();
173
}
174
175
inline
void
DtSimBlock::setParentStatement
(
DtSimStatement
* s)
176
{
177
myParentStatement
= s;
178
}
179
180
inline
DtSimStatement
*
DtSimBlock::parentStatement
()
const
181
{
182
return
myParentStatement
;
183
}
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)