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
78
static
DtPdu
*create(
const
DtNetPacket
*initial,
79
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
,
DtPduFactory
* pduFactory = 0);
80
81
static
void
addCallback(
DtExerciseConn
*conn,
82
DtTransmitterPduCb
cb,
void
*usr);
83
static
void
removeCallback(
DtExerciseConn
*conn,
84
DtTransmitterPduCb
cb,
void
*usr);
85
86
87
const
DtEntityIdentifier
&entityId()
const
;
88
void
setEntityId(
const
DtEntityIdentifier
&
id
);
89
90
unsigned
int
radioId()
const
;
91
void
setRadioId(
unsigned
int
id
);
92
93
const
DtRadioEntityType
&radioEntityType()
const
;
94
void
setRadioEntityType(
const
DtRadioEntityType
&type);
95
void
setRadioEntityType(
const
DtEntityType
&type);
96
97
DtRadioTransmitState
transmitState()
const
;
98
void
setTransmitState(
DtRadioTransmitState
state);
99
100
DtRadioInputSource
inputSource()
const
;
101
void
setInputSource(
DtRadioInputSource
source);
102
103
const
DtVector
& worldAntennaLoc()
const
;
104
void
setWorldAntennaLoc(
const
DtVector
& loc);
105
106
const
DtVector32
& relativeAntennaLoc()
const
;
107
void
setRelativeAntennaLoc(
const
DtVector32
& loc);
108
109
DtAntennaPatternType
antennaPatternType()
const
;
110
void
setAntennaPatternType(
DtAntennaPatternType
type);
111
112
int
antennaParamsLength()
const
;
113
116
117
unsigned
long
frequency(
int
upperLower)
const
;
118
void
setFrequency(
unsigned
long
upper,
unsigned
long
lower);
120
122
123
void
setFrequency(
DtU64
freq);
124
DtU64
frequency()
const
;
126
127
float
bandwidth()
const
;
128
void
setBandwidth(
float
bw);
129
130
float
power()
const
;
131
void
setPower(
float
power);
132
133
const
DtModulationType
&modulationType()
const
;
134
void
setModulationType(
const
DtModulationType
&type);
135
136
DtRadioCryptoSystem
cryptoSystem()
const
;
137
void
setCryptoSystem(
DtRadioCryptoSystem
sys);
138
139
int
cryptoKeyId()
const
;
140
void
setCryptoKeyId(
int
key);
141
142
int
modulationParamsLength()
const
;
143
void
setModulationParams(
void
*networkRepresentation,
int
size);
144
145
void
getNetModulationParams(
void
*destination)
const
;
146
void
getNetAntennaParams(
void
*destination)
const
;
147
const
DtBeamAntennaPatternRecord
&antennaParams()
const
;
148
149
void
setAntennaPatternParams(
void
*networkRepresentation,
int
size);
150
void
setAntennaPatternParams(
const
DtBeamAntennaPatternRecord
&rec);
151
152
virtual
void
printData
()
const
;
153
virtual
void
printDataToStream
(std::ostream &stream)
const
;
154
155
protected
:
156
157
DtPduKind
internalGetPduKind
()
const
{
return
DtTransmitterPduKind
;}
158
DtEntityIdentifier
theId
;
159
DtRadioEntityType
theType
;
160
DtVector
wLoc
;
161
DtVector32
rLoc
;
162
DtModulationType
modType
;
163
DtBeamAntennaPatternRecord
pat
;
164
void
setModulationParamsLength(
int
length);
165
void
setAntennaParamsLength(
int
length);
166
void
*antennaParamsAddr()
const
;
167
void
*modulationParamsAddr()
const
;
168
virtual
void
printModulationParams(std::ostream& stream)
const
;
169
virtual
void
printAntennaParams(std::ostream& stream)
const
;
170
private
:
173
virtual
void
printModulationParams()
const
;
174
virtual
void
printAntennaParams()
const
;
175
};
176
177
#endif
Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)