KDIS  2-8-x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
UnderwaterAcousticFundamentalParameterData.h
Go to the documentation of this file.
1 /*********************************************************************
2 Copyright 2013 Karl Jones
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7 
8 1. Redistributions of source code must retain the above copyright notice, this
9  list of conditions and the following disclaimer.
10 2. Redistributions in binary form must reproduce the above copyright notice,
11  this list of conditions and the following disclaimer in the documentation
12  and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18 ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 
25 For Further Information Please Contact me at
26 Karljj1@yahoo.com
27 http://p.sf.net/kdis/UserGuide
28 *********************************************************************/
29 
30 /********************************************************************
31  class: UnderwaterAcousticFundamentalParameterData
32  created: 15/01/2009
33  author: Karl Jones
34 
35  purpose: Contains regeneration parameters for active emission systems
36  that are variable thoughout a scenario.
37  size: 160 bits / 20 octets
38 *********************************************************************/
39 
40 #pragma once
41 
42 #include "./DataTypeBase.h"
43 
44 namespace KDIS {
45 namespace DATA_TYPE {
46 
48 {
49 protected:
50 
52 
54 
56 
58 
60 
62 
63 public:
64 
65  static const KUINT16 UNDERWATER_ACOUSTIC_FUNDAMENTAL_PARAMETER_SIZE_SIZE = 20;
66 
68 
70 
72  KFLOAT32 BeamCenterAzimuth, KFLOAT32 AzimuthalBeamwidth, KFLOAT32 BeamCenter, KFLOAT32 BeamWidth );
73 
75 
76  //************************************
77  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::SetActiveEmissionParameterIndex
78  // KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetActiveEmissionParameterIndex
79  //!Description: Indicates which database record shall be used in the definition of
80  //! intentional emissions of the entity.
81  // Parameter: ActiveEmissionParameterIndex AEPI
82  //************************************
83  void SetActiveEmissionParameterIndex( KDIS::DATA_TYPE::ENUMS::ActiveEmissionParameterIndex AEPI );
84  KDIS::DATA_TYPE::ENUMS::ActiveEmissionParameterIndex GetActiveEmissionParameterIndex() const;
85 
86  //************************************
87  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::SetScanPattern
88  // KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetScanPattern
89  //!Description: Desscribes the UA scan pattern.
90  // Parameter: ScanPattern SP
91  //************************************
92  void SetScanPattern( KDIS::DATA_TYPE::ENUMS::ScanPattern SP );
93  KDIS::DATA_TYPE::ENUMS::ScanPattern GetScanPattern() const;
94 
95  //************************************
96  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::SetBeamCenterAzimuth
97  // KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetBeamCenterAzimuth
98  //!Description: Beam center azimuth(Horizontal bearing). Specifies the center azimuthal bearing of the main
99  //! beam(as opposed to sidelobes) in relation to the emitter coordinate system.
100  //! The azimuth center for 360 degrees bearing shall be 0. Omnidirectional beams shall have
101  //! the value 0.
102  //! Represented as radians.
103  // Parameter: KFLOAT32 BCA
104  //************************************
105  void SetBeamCenterAzimuth( KFLOAT32 BCA );
106  KFLOAT32 GetBeamCenterAzimuth() const;
107 
108  //************************************
109  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::SetAzimuthalBeamwidth
110  // KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetAzimuthalBeamWidth
111  //!Description: Azimuthal beam width(Horizontal beamwidth). Beamwidth shall be measured
112  //! at the 3db down point of peak radiated power. Omnidirectional beams shall have
113  //! the value 0.
114  //! Represented as radians.
115  // Parameter: KFLOAT32 AB
116  //************************************
117  void SetAzimuthalBeamwidth( KFLOAT32 AB );
118  KFLOAT32 GetAzimuthalBeamWidth() const;
119 
120  //************************************
121  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::SetBeamCenter
122  // KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetBeamCenter
123  //!Description: Beam center Depression/Elevation (D/E). Specifies the center of the
124  //! D/E angle of the main beam relative to the stabilized D/E angle of the target(I.E
125  //! assume the target is stabilized and parrallel to the earth for determining the D/E angle).
126  //! Represented as radians.
127  //! A depression angle shall be defines as a downward angle and assigned a negative value.
128  //! An elevation shall be defined as an upward angle and assigned a positive value.
129  //! Omnidirectional beams shall have the value 0.
130  // Parameter: KFLOAT32 BC
131  //************************************
132  void SetBeamCenter( KFLOAT32 BC );
133  KFLOAT32 GetBeamCenter() const;
134 
135  //************************************
136  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::SetBeamWidth
137  // KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetBeamWidth
138  //!Description: Depression/Elevation (D/E) Beamwidth(Vertical Beamwidth).
139  //! Beamwidth shall be measured at the 3db point of the peak radiated power.
140  //! Represented as radians.
141  //! Omnidirectional beams shall have the value 0.
142  // Parameter: KFLOAT32 BC
143  //************************************
144  void SetBeamWidth( KFLOAT32 BW );
145  KFLOAT32 GetBeamWidth() const;
146 
147  //************************************
148  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::GetAsString
149  //!Description: Returns a string representation
150  //************************************
151  virtual KString GetAsString() const;
152 
153  //************************************
154  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::Decode
155  //!Description: Convert From Network Data.
156  // Parameter: KDataStream & stream
157  //************************************
158  virtual void Decode( KDataStream & stream ) throw( KException );
159 
160  //************************************
161  // FullName: KDIS::DATA_TYPE::UnderwaterAcousticFundamentalParameterData::Encode
162  //!Description: Convert To Network Data.
163  // Parameter: KDataStream & stream
164  //************************************
165  virtual KDataStream Encode() const;
166  virtual void Encode( KDataStream & stream ) const;
167 
168  KBOOL operator == ( const UnderwaterAcousticFundamentalParameterData & Value ) const;
169  KBOOL operator != ( const UnderwaterAcousticFundamentalParameterData & Value ) const;
170 };
171 
172 } // END namespace DATA_TYPES
173 } // END namespace KDIS
Definition: UnderwaterAcousticFundamentalParameterData.h:47
ScanPattern
Definition: EnumEmitter.h:1486
unsigned short int KUINT16
Definition: KDefines.h:101
float KFLOAT32
Definition: KDefines.h:113
KFLOAT32 m_f32BeamCenterAzimuth
Definition: UnderwaterAcousticFundamentalParameterData.h:55
ActiveEmissionParameterIndex
Definition: EnumEmitter.h:1469
Definition: KDefines.h:182
Definition: KDataStream.h:48
Definition: DataTypeBase.h:49
bool KBOOL
Definition: KDefines.h:119
std::string KString
Definition: KDefines.h:116
KFLOAT32 m_f32AzimuthalBeamWidth
Definition: UnderwaterAcousticFundamentalParameterData.h:57
KUINT16 m_ui16ScanPattern
Definition: UnderwaterAcousticFundamentalParameterData.h:53
#define KDIS_EXPORT
Definition: KDefines.h:82
KFLOAT32 m_f32DEBeamwidth
Definition: UnderwaterAcousticFundamentalParameterData.h:61
KUINT16 m_ui16AEPI
Definition: UnderwaterAcousticFundamentalParameterData.h:51
KFLOAT32 m_f32BeamCenterDE
Definition: UnderwaterAcousticFundamentalParameterData.h:59