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
81
virtual
const
DtEntityIdentifier
& entityId()
const
;
82
84
virtual
const
DtObjectId
& id()
const
;
85
87
virtual
const
DtObjectId
& localId()
const
;
88
91
virtual
const
DtGlobalObjectDesignator
&
globalId
()
const
;
92
94
virtual
void
processStateMessage
(
const
DtStateMsg
& msg);
95
97
virtual
void
processRelativeLocation(
const
DtRelativeLocationPdu
& pdu);
98
100
virtual
void
processEntityStateUpdate(
const
DtEntityStateUpdatePdu
& pdu);
101
103
virtual
void
processSees(
const
DtSuppEmisEntStatePdu
& pdu);
104
106
virtual
void
processDiGuyPdu(
const
DtDIGuyCustomPdu
& pdu);
107
109
virtual
DtReflectedEntity
*
next
()
const
;
110
virtual
DtReflectedEntity
*
prev
()
const
;
111
113
virtual
DtReflectedEntity
*
wrapNext
()
const
;
114
virtual
DtReflectedEntity
*
wrapPrev
()
const
;
115
117
virtual
void
addPostUpdateCallback(
118
DtEntityCallbackFunction
cb,
void
* userData);
119
virtual
void
removePostUpdateCallback(
120
DtEntityCallbackFunction
cb,
void
* userData);
121
123
virtual
const
DtBaseHashKey
&
hashKey
()
const
;
124
126
virtual
DtString
idString
()
const
;
127
130
virtual
void
processEntityState(
const
DtEntityStatePdu
& pdu);
131
135
virtual
void
acquireObject();
136
public
:
137
139
static
void
setStateRepCreator(DtStateRepCreator creator);
140
static
DtStateRepCreator stateRepCreator(
void
);
141
142
protected
:
143
145
DtReflectedEntity
(
const
DtReflectedEntity
& orig);
146
148
DtReflectedEntity
&
operator=
(
const
DtReflectedEntity
& orig);
149
150
protected
:
151
152
DtEntityIdentifier
myId
;
153
DtEntityStateRepository
*
myEntityStateRep
;
154
DtEntityStateDecoder
*
myEntityDecoder
;
155
DtDIGuyCustomPduDecoder
*
myDiGuyDecoder
;
156
DtEntityIdentifierHashKey
myHashKey
;
157
DtOwnershipHandler
*
myOwnershipHandler
;
158
159
protected
:
160
161
static
DtStateRepCreator
theStateRepCreator
;
162
163
};
164
165
inline
const
DtObjectId
&
DtReflectedEntity::localId
()
const
166
{
167
return
id
();
168
}
169
170
#endif
171
#endif
172
Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (
www.mak.com
)