VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
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
DtVector
& relativeAntennaLoc()
const
;
107
void
setRelativeAntennaLoc(
const
DtVector
& 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
DtVector
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 Wed Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)