VR-Forces 4.5 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
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
140
protected
:
141
146
virtual
void
cloneListFrom(
const
DtSimBlock
& other);
147
148
protected
:
149
DtSimStatement
*
myParentStatement
;
150
};
151
153
154
inline
DtSimBlock
*
DtSimBlock::clone
()
const
155
{
156
return
clone
(
name
().
string
(), NULL);
157
}
158
159
inline
DtSimStatement
*
DtSimBlock::firstStmt
()
const
160
{
161
return
(
DtSimStatement
*)
firstObj
();
162
}
163
164
inline
DtSimStatement
*
DtSimBlock::lastStmt
()
const
165
{
166
return
(
DtSimStatement
*)
lastObj
();
167
}
168
169
inline
void
DtSimBlock::setParentStatement
(
DtSimStatement
* s)
170
{
171
myParentStatement
= s;
172
}
173
174
inline
DtSimStatement
*
DtSimBlock::parentStatement
()
const
175
{
176
return
myParentStatement
;
177
}
Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (
www.mak.com
)