VR-Forces 4.6.1 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) 2016 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
143
protected
:
144
149
virtual
void
cloneListFrom(
const
DtSimBlock
& other);
150
151
protected
:
152
DtSimStatement
*
myParentStatement
;
153
};
154
156
157
inline
DtSimBlock
*
DtSimBlock::clone
()
const
158
{
159
return
clone
(
name
().
string
(), NULL);
160
}
161
162
inline
DtSimStatement
*
DtSimBlock::firstStmt
()
const
163
{
164
return
(
DtSimStatement
*)
firstObj
();
165
}
166
167
inline
DtSimStatement
*
DtSimBlock::lastStmt
()
const
168
{
169
return
(
DtSimStatement
*)
lastObj
();
170
}
171
172
inline
void
DtSimBlock::setParentStatement
(
DtSimStatement
* s)
173
{
174
myParentStatement
= s;
175
}
176
177
inline
DtSimStatement
*
DtSimBlock::parentStatement
()
const
178
{
179
return
myParentStatement
;
180
}
Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)