open-dis-cpp
FundamentalParameterDataIff.h
1 #pragma once
2 
3 #include <dis6/utils/DataStream.h>
4 #include <dis6/opendis6_export.h>
5 
6 
7 namespace DIS
8 {
9 // 5.2.45. Fundamental IFF atc data
10 
11 // Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.
12 //
13 // @author DMcG, jkg
14 
15 class OPENDIS6_EXPORT FundamentalParameterDataIff
16 {
17 protected:
19  float _erp;
20 
22  float _frequency;
23 
25  float _pgrf;
26 
28  float _pulseWidth;
29 
31  unsigned int _burstLength;
32 
34  unsigned char _applicableModes;
35 
37  unsigned short _pad2;
38 
40  unsigned char _pad3;
41 
42 
43  public:
45  virtual ~FundamentalParameterDataIff();
46 
47  virtual void marshal(DataStream& dataStream) const;
48  virtual void unmarshal(DataStream& dataStream);
49 
50  float getErp() const;
51  void setErp(float pX);
52 
53  float getFrequency() const;
54  void setFrequency(float pX);
55 
56  float getPgrf() const;
57  void setPgrf(float pX);
58 
59  float getPulseWidth() const;
60  void setPulseWidth(float pX);
61 
62  unsigned int getBurstLength() const;
63  void setBurstLength(unsigned int pX);
64 
65  unsigned char getApplicableModes() const;
66  void setApplicableModes(unsigned char pX);
67 
68  unsigned short getPad2() const;
69  void setPad2(unsigned short pX);
70 
71  unsigned char getPad3() const;
72  void setPad3(unsigned char pX);
73 
74 
75 virtual int getMarshalledSize() const;
76 
77  bool operator ==(const FundamentalParameterDataIff& rhs) const;
78 };
79 }
80 
81 // Copyright (c) 1995-2009 held by the author(s). All rights reserved.
82 // Redistribution and use in source and binary forms, with or without
83 // modification, are permitted provided that the following conditions
84 // are met:
85 //
86 // * Redistributions of source code must retain the above copyright
87 // notice, this list of conditions and the following disclaimer.
88 // * Redistributions in binary form must reproduce the above copyright
89 // notice, this list of conditions and the following disclaimer
90 // in the documentation and/or other materials provided with the
91 // distribution.
92 // * Neither the names of the Naval Postgraduate School (NPS)
93 // Modeling Virtual Environments and Simulation (MOVES) Institute
94 // (http://www.nps.edu and http://www.MovesInstitute.org)
95 // nor the names of its contributors may be used to endorse or
96 // promote products derived from this software without specific
97 // prior written permission.
98 //
99 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
100 // AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
101 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
102 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
103 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
104 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
105 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
106 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
107 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
108 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
109 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
110 // POSSIBILITY OF SUCH DAMAGE.
Definition: FundamentalParameterDataIff.h:15
Symbolic names as defined in 5.1.4.
Definition: AcknowledgePdu.h:8
unsigned int _burstLength
Burst length.
Definition: FundamentalParameterDataIff.h:31
unsigned char _applicableModes
Applicable modes enumeration.
Definition: FundamentalParameterDataIff.h:34
a class to support managing a network buffer.
Definition: DataStream.h:28
float _pulseWidth
Pulse width.
Definition: FundamentalParameterDataIff.h:28
float _pgrf
pgrf
Definition: FundamentalParameterDataIff.h:25
unsigned char _pad3
padding
Definition: FundamentalParameterDataIff.h:40
float _erp
ERP.
Definition: FundamentalParameterDataIff.h:19
unsigned short _pad2
padding
Definition: FundamentalParameterDataIff.h:37
float _frequency
frequency
Definition: FundamentalParameterDataIff.h:22