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
leDetonationPdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
9
10
#pragma once
11
12
#if DtDIS
13
14
#include <
vlutil/vlMachineTypes.h
>
15
#include "
hostStructs.h
"
16
#include "
interactionDIS.h
"
17
#include <
matrix/vlMath.h
>
18
#include "
exerciseConn.h
"
19
20
#include "
packets/leDetonP.h
"
21
22
#include "
leEntityID.h
"
23
#include "
leEntityLocationWorldCoordinates.h
"
24
#include "
leEntityLocationEntityCoordinates.h
"
25
#include "
leEntityLinearVelocity.h
"
26
#include "
leEntityOrientation.h
"
27
28
class
DT_DLL_VL
DtLeDetonationPdu
;
29
31
typedef
void (*
DtLeDetonationPduCb
)(
DtLeDetonationPdu
* pdu,
void
* usr);
32
33
37
class
DT_DLL_VL
DtLeDetonationPdu
:
public
DtInteraction
38
{
39
40
public
:
41
43
DtLeDetonationPdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
44
DtLeDetonationPdu
(
const
DtNetLeDetonationPdu
* initial,
45
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
46
DtLeDetonationPdu
(
const
DtLeDetonationPdu
& orig);
47
49
virtual
~
DtLeDetonationPdu
();
50
52
DtLeDetonationPdu
&
operator=
(
const
DtLeDetonationPdu
& orig);
53
55
virtual
void
setSubProtocol(
DtSubProtocol
value);
56
virtual
DtSubProtocol
subProtocol()
const
;
57
59
virtual
void
setFiringEntityID(
const
DtLeEntityID
&
id
);
60
virtual
const
DtLeEntityID
& firingEntityID()
const
;
61
64
virtual
DtU8
detonFlagsField()
const
;
65
69
virtual
bool
getDeton2FlagsField(
DtU8
& field)
const
;
70
72
virtual
bool
detonFlag(
DtLE_DetonFieldFlag
flag)
const
;
73
76
virtual
bool
getDeton2Flag(
77
DtLE_DetonField2Flag
flag,
bool
& value)
const
;
78
82
84
virtual
void
setTargetEntityID(
const
DtLeEntityID
&
id
);
85
virtual
bool
getTargetEntityID(
DtLeEntityID
&
id
)
const
;
86
88
virtual
void
setMunitionID_Site(
DtU8
value);
89
virtual
bool
getMunitionID_Site(
DtU8
& value)
const
;
90
92
virtual
void
setMunitionID_Application(
DtU8
value);
93
virtual
bool
getMunitionID_Application(
DtU8
& value)
const
;
94
96
virtual
void
setMunitionID_Entity(
DtU16
value);
97
virtual
bool
getMunitionID_Entity(
DtU16
& value)
const
;
98
100
virtual
void
setEventID_Site(
DtU8
value);
101
virtual
bool
getEventID_Site(
DtU8
& value)
const
;
102
104
virtual
void
setEventID_Application(
DtU8
value);
105
virtual
bool
getEventID_Application(
DtU8
& value)
const
;
106
108
virtual
void
setEventID_Event(
DtU16
value);
109
virtual
bool
getEventID_Event(
DtU16
& value)
const
;
110
115
virtual
void
setLocationWorld(
116
const
DtLeEntityLocationWorldCoordinates
& value);
117
virtual
bool
getLocationWorld(
118
DtLeEntityLocationWorldCoordinates
& value)
const
;
119
124
virtual
void
setLocationEntity(
125
const
DtLeEntityLocationEntityCoordinates
& value);
126
virtual
bool
getLocationEntity(
127
DtLeEntityLocationEntityCoordinates
& value)
const
;
128
130
virtual
void
setVelocity(
const
DtLeEntityLinearVelocity
& value);
131
virtual
const
DtLeEntityLinearVelocity
& velocity()
const
;
132
134
virtual
void
setOrientation(
const
DtLeEntityOrientation
& value);
135
virtual
bool
getOrientation(
DtLeEntityOrientation
& value)
const
;
136
138
virtual
void
setBurstMunitionType(
DtEntityType
& type);
139
virtual
const
DtEntityType
& burstMunitionType()
const
;
140
142
virtual
void
setBurstWarhead(
DtU16
value);
143
virtual
bool
getBurstWarhead(
DtU16
& value)
const
;
144
146
virtual
void
setBurstFuse(
DtU16
value);
147
virtual
bool
getBurstFuse(
DtU16
& value)
const
;
148
150
virtual
void
setBurstQuantity(
DtU16
value);
151
virtual
bool
getBurstQuantity(
DtU16
& value)
const
;
152
154
virtual
void
setBurstRate(
DtU16
value);
155
virtual
bool
getBurstRate(
DtU16
& value)
const
;
156
158
virtual
void
setDetonationResult(
DtU8
value);
159
virtual
DtU8
detonationResult()
const
;
160
162
virtual
void
printData
()
const
;
163
165
virtual
void
printDataToStream
(std::ostream& stream)
const
;
166
168
virtual
void
printHeader
()
const
;
169
171
virtual
void
printHeaderToStream
(std::ostream& stream)
const
;
172
173
public
:
174
177
static
DtPdu
* create(
const
DtNetPacket
* initial,
178
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
179
182
static
void
addCallback(
DtExerciseConn
* conn,
183
DtLeDetonationPduCb
cb,
void
* usr);
184
static
void
removeCallback(
DtExerciseConn
* conn,
185
DtLeDetonationPduCb
cb,
void
* usr);
186
187
protected
:
188
190
virtual
DtPduKind
internalGetPduKind
()
const
;
191
193
virtual
DtNetLeDetonationPdu
* netPduStruct()
const
;
194
197
DtLeDetonationPdu
*
self
()
const
;
198
200
virtual
char
* var()
const
;
201
203
virtual
void
setDetonFlagsField(
DtU8
value);
204
206
virtual
void
setDeton2FlagsField(
DtU8
value);
207
209
virtual
void
setDetonFlag(
DtLE_DetonFieldFlag
flag);
210
212
virtual
void
setDeton2Flag(
DtLE_DetonField2Flag
flag);
213
217
virtual
int
detonFlagFieldOffset()
const
;
218
virtual
int
deton2FlagFieldOffset()
const
;
219
virtual
int
targetEntityID_Offset()
const
;
220
virtual
int
munitionID_Offset1()
const
;
221
virtual
int
munitionID_Offset2()
const
;
222
virtual
int
eventID_Offset1()
const
;
223
virtual
int
eventID_Offset2()
const
;
224
virtual
int
locationWorldOffset()
const
;
225
virtual
int
velocityOffset()
const
;
226
virtual
int
munitionOrientationOffset()
const
;
227
virtual
int
burstOffset1()
const
;
228
virtual
int
burstOffset2()
const
;
229
virtual
int
burstOffset3()
const
;
230
virtual
int
locationEntityOffset()
const
;
231
virtual
int
resultOffset()
const
;
232
233
protected
:
234
236
static
const
int
theStaticSize
;
237
238
protected
:
239
241
DtLeEntityID
myEntityID
;
242
DtLeEntityLinearVelocity
myVelocity
;
243
DtEntityType
myEntityType
;
244
245
};
246
247
#endif
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
)