VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
vl
transmitPdu.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 DtTransmitterPdu_H_
10
#define DtTransmitterPdu_H_
11
12
#if DtDIS
13
14
#include "
hostStructs.h
"
15
#include "
pdu.h
"
16
#include <
matrix/vlMath.h
>
17
#include "
packets/transmitterP.h
"
18
#include "
beamAntRec.h
"
19
#include "
stateMsg.h
"
20
21
22
class
DT_DLL_VL
DtExerciseConn
;
23
class
DT_DLL_VL
DtTransmitterPdu
;
24
typedef
void (*
DtTransmitterPduCb
)(
DtTransmitterPdu
*pdu,
void
*usr);
25
26
#define DtFREQ_UPPER 0
27
#define DtFREQ_LOWER 1
28
29
class
DT_DLL_VL
DtModulationType
30
{
31
32
public
:
33
DtModulationType
(
int
spectrum = 0,
34
DtRadioMajorModulation
major =
35
DtRadioMajorModOther
,
36
int
detail = 0,
37
DtRadioSystem
sys =
DtRadioSystemOther
)
38
: Spectrum(spectrum), Major(major), Detail(detail), Sys(sys) {}
39
40
unsigned
int
spectrum
()
const
{
return
Spectrum;}
41
DtRadioMajorModulation
majorModType
()
const
{
return
Major;}
42
int
detail
()
const
{
return
Detail;}
43
DtRadioSystem
systemType
()
const
{
return
Sys;}
44
45
void
setSpectrum
(
unsigned
int
s) {Spectrum = s;}
46
void
setMajor
(
DtRadioMajorModulation
m) {Major = m;}
47
void
setDetail
(
int
d) {Detail = d;}
48
void
setSystemType
(
DtRadioSystem
s) {Sys = s;}
49
50
virtual
void
printData()
const
;
51
virtual
void
printDataToStream(std::ostream& stream)
const
;
52
53
private
:
54
unsigned
int
Spectrum
;
55
DtRadioMajorModulation
Major
;
56
int
Detail
;
57
DtRadioSystem
Sys
;
58
};
59
62
class
DT_DLL_VL
DtTransmitterPdu
:
public
DtStateMsg
63
{
64
65
public
:
66
67
enum
{ PduStaticSize=104 };
68
69
public
:
70
71
72
DtTransmitterPdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
73
DtTransmitterPdu
(
const
DtNetTransmitterPdu
*initial,
74
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
75
76
static
DtPdu
*create(
const
DtNetPacket
*initial,
77
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
78
79
static
void
addCallback(
DtExerciseConn
*conn,
80
DtTransmitterPduCb
cb,
void
*usr);
81
static
void
removeCallback(
DtExerciseConn
*conn,
82
DtTransmitterPduCb
cb,
void
*usr);
83
84
85
const
DtEntityIdentifier
&entityId()
const
;
86
void
setEntityId(
const
DtEntityIdentifier
&
id
);
87
88
unsigned
int
radioId()
const
;
89
void
setRadioId(
unsigned
int
id
);
90
91
const
DtRadioEntityType
&radioEntityType()
const
;
92
void
setRadioEntityType(
const
DtRadioEntityType
&type);
93
void
setRadioEntityType(
const
DtEntityType
&type);
94
95
DtRadioTransmitState
transmitState()
const
;
96
void
setTransmitState(
DtRadioTransmitState
state);
97
98
DtRadioInputSource
inputSource()
const
;
99
void
setInputSource(
DtRadioInputSource
source);
100
101
const
DtVector
& worldAntennaLoc()
const
;
102
void
setWorldAntennaLoc(
const
DtVector
& loc);
103
104
const
DtVector
& relativeAntennaLoc()
const
;
105
void
setRelativeAntennaLoc(
const
DtVector
& loc);
106
107
DtAntennaPatternType
antennaPatternType()
const
;
108
void
setAntennaPatternType(
DtAntennaPatternType
type);
109
110
int
antennaParamsLength()
const
;
111
112
unsigned
long
frequency(
int
upperLower =
DtFREQ_LOWER
)
const
;
113
void
setFrequency(
unsigned
long
freq);
114
void
setFrequency(
unsigned
long
upper,
unsigned
long
lower);
115
116
float
bandwidth()
const
;
117
void
setBandwidth(
float
bw);
118
119
float
power()
const
;
120
void
setPower(
float
power);
121
122
const
DtModulationType
&modulationType()
const
;
123
void
setModulationType(
const
DtModulationType
&type);
124
125
DtRadioCryptoSystem
cryptoSystem()
const
;
126
void
setCryptoSystem(
DtRadioCryptoSystem
sys);
127
128
int
cryptoKeyId()
const
;
129
void
setCryptoKeyId(
int
key);
130
131
int
modulationParamsLength()
const
;
132
void
setModulationParams(
void
*networkRepresentation,
int
size);
133
134
void
getNetModulationParams(
void
*destination)
const
;
135
void
getNetAntennaParams(
void
*destination)
const
;
136
const
DtBeamAntennaPatternRecord
&antennaParams()
const
;
137
138
void
setAntennaPatternParams(
void
*networkRepresentation,
int
size);
139
void
setAntennaPatternParams(
const
DtBeamAntennaPatternRecord
&rec);
140
141
virtual
void
printData
()
const
;
142
virtual
void
printDataToStream
(std::ostream &stream)
const
;
143
144
protected
:
145
146
DtPduKind
internalGetPduKind
()
const
{
return
DtTransmitterPduKind
;}
147
DtEntityIdentifier
theId
;
148
DtRadioEntityType
theType
;
149
DtVector
wLoc
;
150
DtVector
rLoc
;
151
DtModulationType
modType
;
152
DtBeamAntennaPatternRecord
pat
;
153
void
setModulationParamsLength(
int
length);
154
void
setAntennaParamsLength(
int
length);
155
void
*antennaParamsAddr()
const
;
156
void
*modulationParamsAddr()
const
;
157
virtual
void
printModulationParams(std::ostream& stream)
const
;
158
virtual
void
printAntennaParams(std::ostream& stream)
const
;
159
private
:
162
virtual
void
printModulationParams()
const
;
163
virtual
void
printAntennaParams()
const
;
164
};
165
166
#endif
167
#endif
168
Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)