open-dis-cpp
BlankingSector.h
1 #pragma once
2 
3 #include <dis7/utils/DataStream.h>
4 #include <dis7/opendis7_export.h>
5 
6 
7 namespace DIS
8 {
9 // The Blanking Sector attribute record may be used to convey persistent areas within a scan volume where emitter power for a specific active emitter beam is reduced to an insignificant value. Section 6.2.12
10 
11 // Copyright (c) 2007-2009, MOVES Institute, Naval Postgraduate School. All rights reserved.
12 //
13 // @author DMcG, jkg
14 
15 class OPENDIS7_EXPORT BlankingSector
16 {
17 protected:
18  unsigned int _recordType;
19 
20  unsigned short _recordLength;
21 
22  unsigned char _emitterNumber;
23 
24  unsigned char _beamNumber;
25 
26  unsigned char _stateIndicator;
27 
28  float _leftAzimuth;
29 
30  float _rightAzimuth;
31 
32  float _lowerElevation;
33 
34  float _upperElevation;
35 
36  float _residualPower;
37 
38 
39  public:
41  virtual ~BlankingSector();
42 
43  virtual void marshal(DataStream& dataStream) const;
44  virtual void unmarshal(DataStream& dataStream);
45 
46  unsigned int getRecordType() const;
47  void setRecordType(unsigned int pX);
48 
49  unsigned short getRecordLength() const;
50  void setRecordLength(unsigned short pX);
51 
52  unsigned char getEmitterNumber() const;
53  void setEmitterNumber(unsigned char pX);
54 
55  unsigned char getBeamNumber() const;
56  void setBeamNumber(unsigned char pX);
57 
58  unsigned char getStateIndicator() const;
59  void setStateIndicator(unsigned char pX);
60 
61  float getLeftAzimuth() const;
62  void setLeftAzimuth(float pX);
63 
64  float getRightAzimuth() const;
65  void setRightAzimuth(float pX);
66 
67  float getLowerElevation() const;
68  void setLowerElevation(float pX);
69 
70  float getUpperElevation() const;
71  void setUpperElevation(float pX);
72 
73  float getResidualPower() const;
74  void setResidualPower(float pX);
75 
76 
77 virtual int getMarshalledSize() const;
78 
79  bool operator ==(const BlankingSector& rhs) const;
80 };
81 }
82 
83 // Copyright (c) 1995-2009 held by the author(s). All rights reserved.
84 // Redistribution and use in source and binary forms, with or without
85 // modification, are permitted provided that the following conditions
86 // are met:
87 //
88 // * Redistributions of source code must retain the above copyright
89 // notice, this list of conditions and the following disclaimer.
90 // * Redistributions in binary form must reproduce the above copyright
91 // notice, this list of conditions and the following disclaimer
92 // in the documentation and/or other materials provided with the
93 // distribution.
94 // * Neither the names of the Naval Postgraduate School (NPS)
95 // Modeling Virtual Environments and Simulation (MOVES) Institute
96 // (http://www.nps.edu and http://www.MovesInstitute.org)
97 // nor the names of its contributors may be used to endorse or
98 // promote products derived from this software without specific
99 // prior written permission.
100 //
101 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
102 // AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
103 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
104 // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
105 // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
106 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
107 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
108 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
109 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
110 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
111 // ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
112 // POSSIBILITY OF SUCH DAMAGE.
Symbolic names as defined in 5.1.4.
Definition: AcknowledgePdu.h:8
a class to support managing a network buffer.
Definition: DataStream.h:28
Definition: BlankingSector.h:15