VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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"
18 #include "stateMsg.h"
19 
20 
23 typedef void (*DtTransmitterPduCb)(DtTransmitterPdu *pdu, void *usr);
24 
25 #define DtFREQ_UPPER 0
26 #define DtFREQ_LOWER 1
27 
29 {
30 
31 public:
32  DtModulationType(int spectrum = 0,
33  DtRadioMajorModulation major =
35  int detail = 0,
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;
55  int Detail;
57 };
58 
62 {
63 
64 public:
65 
66  enum { PduStaticSize=104 };
67 
68 public:
69 
70 
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 
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)