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
iffAtcNavaidsPdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
9
10
#pragma once
11
12
#if DtDIS
13
14
#include <
vlutil/vlMachineTypes.h
>
15
#include "
hostStructs.h
"
16
#include "
stateMsgDIS.h
"
17
#include "
exerciseConn.h
"
18
#include <
matrix/vlMath.h
>
19
20
#include "
packets/iffAtcNavP.h
"
21
22
#include "
iffAtcNavaidsBeamData.h
"
23
#include "
iffAtcNavaidsLayerHeader.h
"
24
#include "
iffAtcNavaidsOperational.h
"
25
#include "
iffAtcNavaidsSecondOperational.h
"
26
#include "
iffAtcNavaidsParameter.h
"
27
#include "
iffAtcNavaidsSystemID.h
"
28
29
#include "
iffAtcNavaidsMode5Transponder.h
"
30
#include "
iffAtcNavaidsMode5Interrogator.h
"
31
#include "
iffAtcNavaidsModeSTransponder.h
"
32
#include "
iffAtcNavaidsModeSInterrogator.h
"
33
#include "
iffAtcNavaidsDataCommunications.h
"
34
#include "
iffAtcNavaidsVariableRecord.h
"
35
36
37
38
class
DT_DLL_VL
DtIffAtcNavaidsPdu
;
39
41
typedef
void (*
DtIffAtcNavaidsPduCb
)(
DtIffAtcNavaidsPdu
* pdu,
void
* usr);
42
43
44
48
class
DT_DLL_VL
DtIffAtcNavaidsPdu
:
public
DtStateMsg
49
{
50
51
public
:
52
54
DtIffAtcNavaidsPdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
55
DtIffAtcNavaidsPdu
(
const
DtNetIffAtcNavaidsPduLayer1
* initial,
56
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
57
DtIffAtcNavaidsPdu
(
const
DtIffAtcNavaidsPdu
& orig);
58
60
virtual
~
DtIffAtcNavaidsPdu
();
61
64
static
DtPdu
* create(
const
DtNetPacket
* initial,
65
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
66
69
static
void
addCallback(
DtExerciseConn
* conn,
70
DtIffAtcNavaidsPduCb
cb,
void
* usr);
71
static
void
removeCallback(
DtExerciseConn
* conn,
72
DtIffAtcNavaidsPduCb
cb,
void
* usr);
73
75
DtIffAtcNavaidsPdu
&
operator=
(
const
DtIffAtcNavaidsPdu
& orig);
76
78
virtual
void
setEmittingEntityID(
const
DtEntityIdentifier
& entity);
79
virtual
const
DtEntityIdentifier
& emittingEntityID()
const
;
80
82
virtual
void
setEventID(
const
DtEventID
& event);
83
virtual
const
DtEventID
& eventID()
const
;
84
86
virtual
void
setLocation(
const
DtVector
& coords);
87
virtual
const
DtVector
& location()
const
;
88
90
virtual
void
setSystemID(
const
DtIffAtcNavaidsSystemID
&
id
);
91
virtual
const
DtIffAtcNavaidsSystemID
& systemID()
const
;
92
94
virtual
void
setSystemDesignator(
DtU8
id
);
95
virtual
DtU8
systemDesignator()
const
;
96
98
virtual
void
setSystemSpecificData(
DtU8
id
);
99
virtual
DtU8
systemSpecificData()
const
;
100
102
virtual
void
setOperational(
const
DtIffAtcNavaidsOperational
& oper);
103
virtual
const
DtIffAtcNavaidsOperational
& operational()
const
;
104
106
virtual
void
setMode5Interrogator(
const
DtIffAtcNavaidsMode5Interrogator
& oper);
107
virtual
const
DtIffAtcNavaidsMode5Interrogator
& mode5Interrogator()
const
;
108
virtual
void
setMode5Transponder(
const
DtIffAtcNavaidsMode5Transponder
& oper);
109
virtual
const
DtIffAtcNavaidsMode5Transponder
& mode5Transponder()
const
;
110
112
virtual
void
setModeSInterrogator(
const
DtIffAtcNavaidsModeSInterrogator
& oper);
113
virtual
const
DtIffAtcNavaidsModeSInterrogator
& modeSInterrogator()
const
;
114
virtual
void
setModeSTransponder(
const
DtIffAtcNavaidsModeSTransponder
& oper);
115
virtual
const
DtIffAtcNavaidsModeSTransponder
& modeSTransponder()
const
;
116
118
virtual
void
setDataCommunications(
const
DtIffAtcNavaidsDataCommunications
& oper);
119
virtual
const
DtIffAtcNavaidsDataCommunications
& dataCommunications()
const
;
120
122
virtual
bool
layerPresent(
int
layer)
const
;
123
126
virtual
bool
enableLayer2(
DtU8
layerSpecificInfo,
int
numRecords);
127
virtual
bool
disableLayer2();
128
130
virtual
bool
enableLayer3(
DtU8
layerSpecificInfo,
int
numRecords);
131
virtual
bool
disableLayer3();
132
134
virtual
bool
enableLayer4(
DtU8
layerSpecificInfo,
int
numRecords);
135
virtual
bool
disableLayer4();
136
138
virtual
bool
enableLayer5(
DtU8
layerSpecificInfo,
int
numRecords);
139
virtual
bool
disableLayer5();
140
141
virtual
DtU8
layer3SpecificInfo
()
const
{
return
myLayer3SpecificInfo; }
142
virtual
DtU8
layer4SpecificInfo
()
const
{
return
myLayer4SpecificInfo; }
143
virtual
DtU8
layer5SpecificInfo
()
const
{
return
myLayer5SpecificInfo; }
144
148
151
virtual
const
DtIffAtcNavaidsLayerHeader
& layer2Header()
const
;
152
154
virtual
void
setBeamData(
const
DtIffAtcNavaidsBeamData
& beamData);
155
virtual
const
DtIffAtcNavaidsBeamData
& beamData()
const
;
156
158
virtual
void
setSecondaryOperational(
159
const
DtIffAtcNavaidsSecondOperational
& oper);
160
virtual
const
DtIffAtcNavaidsSecondOperational
&
161
secondaryOperational()
const
;
162
164
virtual
DtU16
numParameterSets()
const
;
165
167
virtual
bool
setParmData(
int
parmIndex,
168
const
DtIffAtcNavaidsParameter
& init);
169
virtual
bool
getParmData(
int
parmIndex,
170
DtIffAtcNavaidsParameter
& record)
const
;
171
173
virtual
bool
setIffRecord(
unsigned
int
index,
174
const
DtIffAtcNavaidsVariableRecord
& record,
int
layer);
175
176
virtual
DtIffAtcNavaidsVariableRecord
* getIffRecord(
int
parmIndex,
int
layer)
const
;
177
179
virtual
DtU16
numIffRecords(
int
layer)
const
;
180
182
virtual
void
printData
()
const
;
183
185
virtual
void
printDataToStream
(std::ostream& stream)
const
;
186
187
protected
:
188
190
virtual
DtPduKind
internalGetPduKind
()
const
;
191
193
virtual
DtNetIffAtcNavaidsPduLayer1
* netPduStruct()
const
;
194
196
virtual
DtNetIffAtcNavaidsPduLayer2
* netPduStructL2()
const
;
197
200
DtIffAtcNavaidsPdu
*
self
()
const
;
201
203
virtual
DtNetIffAtcNavaidsParameter
* parameter()
const
;
204
205
protected
:
206
208
static
const
int
theStaticSize
;
209
210
protected
:
211
213
DtEntityIdentifier
myEntityID
;
214
DtEventID
myEventID
;
215
DtVector
myEntCoords
;
216
DtIffAtcNavaidsSystemID
mySystemID
;
217
DtIffAtcNavaidsOperational
myOperational
;
218
DtIffAtcNavaidsLayerHeader
myLayerHeader
;
219
DtIffAtcNavaidsBeamData
myBeamData
;
220
DtIffAtcNavaidsSecondOperational
mySecondOperational
;
221
DtIffAtcNavaidsParameter
myParameter
;
222
223
//DIS 7 Only layers (Note, these are not temporary objects, they are decoded and encoded)
224
DtIffAtcNavaidsMode5Transponder
myMode5Transponder
;
225
DtIffAtcNavaidsMode5Interrogator
myMode5Interrogator
;
226
DtIffAtcNavaidsModeSTransponder
myModeSTransponder
;
227
DtIffAtcNavaidsModeSInterrogator
myModeSInterrogator
;
228
DtIffAtcNavaidsDataCommunications
myDataCommunications
;
229
unsigned
int
mySystemDesignator
;
230
unsigned
int
mySystemSpecificData
;
231
232
DtU8
myLayer3SpecificInfo
;
233
DtU8
myLayer4SpecificInfo
;
234
DtU8
myLayer5SpecificInfo
;
235
236
std::vector<DtIffAtcNavaidsVariableRecord*>
myVariableRecordsLayer3
;
237
std::vector<DtIffAtcNavaidsVariableRecord*>
myVariableRecordsLayer4
;
238
std::vector<DtIffAtcNavaidsVariableRecord*>
myVariableRecordsLayer5
;
239
240
bool
layer2Allocated
;
241
};
242
243
#endif
Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)