VR-Link API Documentation for HLA 1.3
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 
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 =
36  int detail = 0,
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;
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,
75 
76  static DtPdu *create(const DtNetPacket *initial,
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;
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)