VR-Link API Documentation for DIS
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
reflectedEntityDIS.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
8
9
#ifndef reflectedEntityDIS_H_
10
#define reflectedEntityDIS_H_
11
12
#if DtDIS
13
14
#include "
reflectedObjectDIS.h
"
15
#include "
entityStateDecoder.h
"
16
#include "
entityStatePdu.h
"
17
#include "
globalObjectDesignator.h
"
18
#include "
objectIdHashKey.h
"
19
#include "
relativeLocationPdu.h
"
20
#include "
entityStateUpdatePdu.h
"
21
#include "
suppEmisEntStatePdu.h
"
22
#include "
diGuyCustomPdu.h
"
23
#include "
ownershipHandler.h
"
24
#include <
vl/entityStateRepository.h
>
25
26
class
DtExerciseConn
;
27
class
DtReflectedEntity
;
28
class
DtDIGuyCustomPduDecoder
;
29
32
typedef
void (*
DtEntityCallbackFunction
)(
33
DtReflectedEntity
* obj,
void
* userData);
34
38
class
DT_DLL_VL
DtReflectedEntity
:
public
DtReflectedObject
39
{
40
public
:
41
43
typedef
DtEntityStateRepository
* (*DtStateRepCreator)();
44
45
public
:
46
48
DtReflectedEntity
(
DtExerciseConn
* conn,
49
const
DtEntityIdentifier
&
id
,
50
const
DtEntityType
& type);
51
57
DtReflectedEntity
(
DtEntityStateRepository
* sr,
58
DtExerciseConn
* conn,
59
const
DtEntityIdentifier
&
id
);
60
62
virtual
~
DtReflectedEntity
();
63
66
virtual
DtEntityStateRepository
* entityStateRep()
const
;
67
69
virtual
DtEntityStateRepository
* esr()
const
;
70
74
virtual
DtStateRepository
*
stateRep
()
const
;
75
78
virtual
DtEntityStateDecoder
* decoder();
79
83
virtual
DtOwnershipHandler
* setOwnershipHandler(
DtOwnershipHandler
* handler );
84
86
virtual
const
DtEntityIdentifier
& entityId()
const
;
87
89
virtual
const
DtObjectId
& id()
const
;
90
92
virtual
const
DtObjectId
& localId()
const
;
93
96
virtual
const
DtGlobalObjectDesignator
&
globalId
()
const
;
97
99
virtual
void
processStateMessage
(
const
DtStateMsg
& msg);
100
102
virtual
void
processRelativeLocation(
const
DtRelativeLocationPdu
& pdu);
103
105
virtual
void
processEntityStateUpdate(
const
DtEntityStateUpdatePdu
& pdu);
106
108
virtual
void
processSees(
const
DtSuppEmisEntStatePdu
& pdu);
109
111
virtual
void
processDiGuyPdu(
const
DtDIGuyCustomPdu
& pdu);
112
114
virtual
DtReflectedEntity
*
next
()
const
;
115
virtual
DtReflectedEntity
*
prev
()
const
;
116
118
virtual
DtReflectedEntity
*
wrapNext
()
const
;
119
virtual
DtReflectedEntity
*
wrapPrev
()
const
;
120
122
virtual
void
addPostUpdateCallback(
123
DtEntityCallbackFunction
cb,
void
* userData);
124
virtual
void
removePostUpdateCallback(
125
DtEntityCallbackFunction
cb,
void
* userData);
126
128
virtual
const
DtBaseHashKey
&
hashKey
()
const
;
129
131
virtual
DtString
idString
()
const
;
132
135
virtual
void
processEntityState(
const
DtEntityStatePdu
& pdu);
136
140
virtual
void
acquireObject();
141
public
:
142
144
static
void
setStateRepCreator(DtStateRepCreator creator);
145
static
DtStateRepCreator stateRepCreator(
void
);
146
147
protected
:
148
150
DtReflectedEntity
(
const
DtReflectedEntity
& orig);
151
153
DtReflectedEntity
&
operator=
(
const
DtReflectedEntity
& orig);
154
155
protected
:
156
157
DtEntityIdentifier
myId
;
158
DtEntityStateRepository
*
myEntityStateRep
;
159
DtEntityStateDecoder
*
myEntityDecoder
;
160
DtDIGuyCustomPduDecoder
*
myDiGuyDecoder
;
161
DtEntityIdentifierHashKey
myHashKey
;
162
DtOwnershipHandler
*
myOwnershipHandler
;
163
164
protected
:
165
166
static
DtStateRepCreator
theStateRepCreator
;
167
168
};
169
170
inline
const
DtObjectId
&
DtReflectedEntity::localId
()
const
171
{
172
return
id
();
173
}
174
175
#endif
176
#endif
177
Document ID: Generated on Thu Feb 22 04:26:36 EST 2018 from SVN revision 186468
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)