VR-Link API Documentation for HLA Evolved
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vl
objectPublisherHLA.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
7
#if DtHLA
8
9
#ifndef objectPublisherHLA_H_
10
#define objectPublisherHLA_H_
11
12
13
#include <
vlutil/vlMachineTypes.h
>
14
#include "
rtiNamespace.h
"
15
#include "
objectId.h
"
16
#include "
globalObjectDesignator.h
"
17
#include "
hlaObjectWithStateRep.h
"
18
#include "
region.h
"
19
23
24
class
DtStateRepository
;
25
class
DtExerciseConn
;
26
class
DtHlaStateDecoder
;
27
class
DtHlaStateEncoder
;
28
34
class
DT_DLL_VL
DtObjectPublisher
35
{
36
public
:
37
40
DtObjectPublisher
(
DtExerciseConn
* conn,
41
DtStateRepository
* stateRep,
42
DtStateRepository
* asSeenByRemote,
43
bool
okToDeleteStateRep =
true
,
44
const
DtDDMRegionSet
* regionSet = 0);
45
49
virtual
~
DtObjectPublisher
();
50
51
private
:
52
54
DtObjectPublisher
(
const
DtObjectPublisher
& orig);
55
57
DtObjectPublisher
& operator= (
const
DtObjectPublisher
& orig);
58
59
public
:
60
67
70
virtual
void
setHlaObject(
71
const
char
* className,
72
DtHlaStateEncoder
* encoder = 0,
73
DtHlaStateDecoder
* decoder = 0,
74
const
char
* objectName = 0,
75
const
DtDDMRegionSet
* regionSet = 0);
76
79
virtual
void
setHlaObject(
80
RTI::ObjectClassHandle hand,
81
DtHlaStateEncoder
* encoder = 0,
82
DtHlaStateDecoder
* decoder = 0,
83
const
char
* objectName = 0,
84
const
DtDDMRegionSet
* regionSet = 0);
85
88
virtual
void
setHlaObject(
89
DtHlaObjectWithStateRep
* obj,
90
DtHlaStateEncoder
* encoder = 0,
91
DtHlaStateDecoder
* decoder = 0);
92
96
virtual
void
detachHlaObject();
97
100
virtual
DtStateRepository
* stateRep();
101
103
virtual
DtStateRepository
* sr();
104
109
virtual
DtStateRepository
* approximateRemoteStateRep();
110
114
virtual
DtHlaStateDecoder
* decoder();
115
118
virtual
DtHlaStateEncoder
* encoder();
119
121
virtual
DtHlaObjectWithStateRep
* hlaObject();
122
124
virtual
DtExerciseConn
* exerciseConn();
125
127
virtual
const
DtObjectId
& id()
const
;
128
130
virtual
const
DtObjectId
& objectId()
const
;
131
133
virtual
const
DtObjectId
& localId()
const
;
134
136
virtual
const
DtString
& name()
const
;
137
140
virtual
const
DtGlobalObjectDesignator
& globalId()
const
;
141
147
virtual
void
forceUpdate();
148
virtual
void
forceUpdate(
const
RTI::AttributeHandleSet&
set
);
149
151
virtual
void
tick
();
152
154
virtual
void
parallelTick();
155
159
virtual
void
setDeleteObjInDtorFlag(
bool
onOff);
160
virtual
bool
deleteObjInDtorFlag()
const
;
161
162
virtual
const
DtDDMRegionSet
& publishingRegions()
const
;
163
166
virtual
void
addRegion(
DtDDMRegionSP
regionToAdd);
167
172
virtual
void
removeRegion(
DtDDMRegionSP
regionToRemove);
173
174
public
:
175
177
static
void
removeObjectCb(
DtHlaObject
* obj,
void
* pub);
178
179
protected
:
180
184
DtObjectPublisher
(
DtStateRepository
* stateRep,
185
DtStateRepository
* asSeenByRemote,
186
bool
okToDeleteStateRep =
true
,
187
const
DtDDMRegionSet
* regionSet = 0);
188
192
virtual
void
setExerciseConn(
DtExerciseConn
* conn);
193
196
virtual
void
processRemoveObject(
DtHlaObject
* obj);
197
198
protected
:
199
200
DtExerciseConn
*
myExConn
;
201
DtHlaObjectWithStateRep
*
myHlaObj
;
202
DtStateRepository
*
myStateRep
;
203
DtStateRepository
*
myAsSeenByRemote
;
204
DtHlaStateEncoder
*
myEncoder
;
205
DtHlaStateDecoder
*
myDecoder
;
206
DtObjectId
myObjectId
;
207
bool
myOkToDeleteStateRepFlag
;
208
DtString
myName
;
209
bool
myDeleteObjInDtorFlag
;
210
DtDDMRegionSet
myPublishingRegions
;
211
212
public
:
213
218
DtObjectPublisher
(
DtExerciseConn
* conn,
const
char
* name = 0);
219
void
init(RTI::ObjectClassHandle hand,
DtStateRepository
* stateRep,
220
DtStateRepository
* asSeenByRemote,
DtHlaStateEncoder
* encoder = 0,
221
DtHlaStateDecoder
* decoder = 0);
222
void
init(
const
char
* className,
DtStateRepository
* stateRep,
223
DtStateRepository
* asSeenByRemote,
DtHlaStateEncoder
* encoder = 0,
224
DtHlaStateDecoder
* decoder = 0);
225
};
226
227
inline
DtStateRepository
*
DtObjectPublisher::stateRep
()
228
{
229
return
myStateRep
;
230
}
231
232
inline
DtStateRepository
*
DtObjectPublisher::sr
()
233
{
234
return
myStateRep
;
235
}
236
237
inline
DtExerciseConn
*
DtObjectPublisher::exerciseConn
()
238
{
239
return
myExConn
;
240
}
241
242
inline
DtHlaObjectWithStateRep
*
DtObjectPublisher::hlaObject
()
243
{
244
return
myHlaObj
;
245
}
246
247
inline
const
DtObjectId
&
DtObjectPublisher::localId
()
const
248
{
249
return
id
();
250
}
251
252
inline
DtStateRepository
*
DtObjectPublisher::approximateRemoteStateRep
()
253
{
254
return
myAsSeenByRemote
;
255
}
256
257
#endif //DtObjectPublisher_H_
258
#endif //DtHLA
259
Document ID: Generated on Mon Apr 8 04:49:21 EDT 2019 from SVN revision 197403
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)