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
transmitterPdu.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
8
9
#pragma once
10
11
#if DtDIS
12
13
#include "
hostStructs.h
"
14
#include "
pdu.h
"
15
#include <
matrix/vlMath.h
>
16
#include "
packets/transmitterP.h
"
17
#include "
beamAntennaPatternRecord.h
"
18
#include "
stateMsg.h
"
19
20
21
class
DT_DLL_VL
DtExerciseConn
;
22
class
DT_DLL_VL
DtTransmitterPdu
;
23
typedef
void (*
DtTransmitterPduCb
)(
DtTransmitterPdu
*pdu,
void
*usr);
24
25
#define DtFREQ_UPPER 0
26
#define DtFREQ_LOWER 1
27
28
class
DT_DLL_VL
DtModulationType
29
{
30
31
public
:
32
DtModulationType
(
int
spectrum = 0,
33
DtRadioMajorModulation
major =
34
DtRadioMajorModOther
,
35
int
detail = 0,
36
DtRadioSystem
sys =
DtRadioSystemOther
)
37
: Spectrum(spectrum), Major(major), Detail(detail), Sys(sys) {}
38
39
unsigned
int
spectrum
()
const
{
return
Spectrum;}
40
DtRadioMajorModulation
majorModType
()
const
{
return
Major;}
41
int
detail
()
const
{
return
Detail;}
42
DtRadioSystem
systemType
()
const
{
return
Sys;}
43
44
void
setSpectrum
(
unsigned
int
s) {Spectrum = s;}
45
void
setMajor
(
DtRadioMajorModulation
m) {Major = m;}
46
void
setDetail
(
int
d) {Detail = d;}
47
void
setSystemType
(
DtRadioSystem
s) {Sys = s;}
48
49
virtual
void
printData()
const
;
50
virtual
void
printDataToStream(std::ostream& stream)
const
;
51
52
private
:
53
unsigned
int
Spectrum
;
54
DtRadioMajorModulation
Major
;
55
int
Detail
;
56
DtRadioSystem
Sys
;
57
};
58
61
class
DT_DLL_VL
DtTransmitterPdu
:
public
DtStateMsg
62
{
63
64
public
:
65
66
enum
{ PduStaticSize=104 };
67
68
public
:
69
70
71
DtTransmitterPdu
(
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
72
DtTransmitterPdu
(
const
DtNetTransmitterPdu
*initial,
73
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
74
76
virtual
~
DtTransmitterPdu
();
77
79
DtTransmitterPdu
(
const
DtTransmitterPdu
& orig);
80
82
DtTransmitterPdu
&
operator=
(
const
DtTransmitterPdu
& orig);
83
84
85
static
DtPdu
*create(
const
DtNetPacket
*initial,
86
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
87
88
static
void
addCallback(
DtExerciseConn
*conn,
89
DtTransmitterPduCb
cb,
void
*usr);
90
static
void
removeCallback(
DtExerciseConn
*conn,
91
DtTransmitterPduCb
cb,
void
*usr);
92
93
94
const
DtEntityIdentifier
&entityId()
const
;
95
void
setEntityId(
const
DtEntityIdentifier
&
id
);
96
97
unsigned
int
radioId()
const
;
98
void
setRadioId(
unsigned
int
id
);
99
100
const
DtRadioEntityType
&radioEntityType()
const
;
101
void
setRadioEntityType(
const
DtRadioEntityType
&type);
102
void
setRadioEntityType(
const
DtEntityType
&type);
103
104
DtRadioTransmitState
transmitState()
const
;
105
void
setTransmitState(
DtRadioTransmitState
state);
106
107
DtRadioInputSource
inputSource()
const
;
108
void
setInputSource(
DtRadioInputSource
source);
109
110
const
DtVector
& worldAntennaLoc()
const
;
111
void
setWorldAntennaLoc(
const
DtVector
& loc);
112
113
const
DtVector32
& relativeAntennaLoc()
const
;
114
void
setRelativeAntennaLoc(
const
DtVector32
& loc);
115
116
DtAntennaPatternType
antennaPatternType()
const
;
117
void
setAntennaPatternType(
DtAntennaPatternType
type);
118
119
int
antennaParamsLength()
const
;
120
123
124
unsigned
long
frequency(
int
upperLower)
const
;
125
void
setFrequency(
unsigned
long
upper,
unsigned
long
lower);
127
129
130
void
setFrequency(
DtU64
freq);
131
DtU64
frequency()
const
;
133
134
float
bandwidth()
const
;
135
void
setBandwidth(
float
bw);
136
137
float
power()
const
;
138
void
setPower(
float
power);
139
140
const
DtModulationType
&modulationType()
const
;
141
void
setModulationType(
const
DtModulationType
&type);
142
143
DtRadioCryptoSystem
cryptoSystem()
const
;
144
void
setCryptoSystem(
DtRadioCryptoSystem
sys);
145
146
int
cryptoKeyId()
const
;
147
void
setCryptoKeyId(
int
key);
148
149
int
modulationParamsLength()
const
;
150
void
setModulationParams(
void
*networkRepresentation,
int
size);
151
152
void
getNetModulationParams(
void
*destination)
const
;
153
void
getNetAntennaParams(
void
*destination)
const
;
154
const
DtBeamAntennaPatternRecord
&antennaParams()
const
;
155
156
void
setAntennaPatternParams(
void
*networkRepresentation,
int
size);
157
void
setAntennaPatternParams(
const
DtBeamAntennaPatternRecord
&rec);
158
159
virtual
void
printData
()
const
;
160
virtual
void
printDataToStream
(std::ostream &stream)
const
;
161
162
protected
:
163
164
DtPduKind
internalGetPduKind
()
const
{
return
DtTransmitterPduKind
;}
165
DtEntityIdentifier
theId
;
166
DtRadioEntityType
theType
;
167
DtVector
wLoc
;
168
DtVector32
rLoc
;
169
DtModulationType
modType
;
170
DtBeamAntennaPatternRecord
pat
;
171
void
setModulationParamsLength(
int
length);
172
void
setAntennaParamsLength(
int
length);
173
void
*antennaParamsAddr()
const
;
174
void
*modulationParamsAddr()
const
;
175
virtual
void
printModulationParams(std::ostream& stream)
const
;
176
virtual
void
printAntennaParams(std::ostream& stream)
const
;
177
private
:
180
virtual
void
printModulationParams()
const
;
181
virtual
void
printAntennaParams()
const
;
182
};
183
184
#endif
Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (
www.mak.com
)