VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
emitterBeamData.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portal/dllExport.h>
13 #include <portal/addAttribute.h>
14 #include <vlutil/vlString.h>
15 #include <iosfwd>
16 #include <vector>
17 #include <list>
18 
19 namespace MAKVrExchange
20 {
21 
30  {
31  public:
32 
37  typedef enum
38  {
39  RegularBeam = -1,
40  RadarBeam = 1,
41  TrackBeam = 1,
42  JamBeam = 0
43  } BeamType;
44 
45  public:
46 
48  DtEmitterBeamData( const BeamType beamType = RegularBeam );
49 
51  DtEmitterBeamData( const DtEmitterBeamData& original );
52 
54  virtual ~DtEmitterBeamData();
55 
57  virtual DtEmitterBeamData& operator = ( const DtEmitterBeamData& original );
58 
61 
62  virtual bool operator != ( const DtEmitterBeamData& rightOperand ) const;
63  virtual bool operator == ( const DtEmitterBeamData& rightOperand ) const;
64 
66 
68  virtual std::ostream& printDataToStream( std::ostream& stream ) const;
69 
74 
77  DtDEC_ATTRIBUTE( DtString, Identifier, identifier );
78 
79  DtDEC_ATTRIBUTE( DtU32, BeamType, beamType ); //required!
80 
81  DtDEC_ATTRIBUTE( DtU16, BeamParameterIndex, beamParameterIndex );
82 
83  /* The next 4 attributes constitute the Scan Volume */
84 
87  DtDEC_ATTRIBUTE( DtFloat32, BeamAzimuthCenter, beamAzimuthCenter );
88 
91  DtDEC_ATTRIBUTE( DtFloat32, BeamAzimuthSweep, beamAzimuthSweep );
92 
95  DtDEC_ATTRIBUTE( DtFloat32, BeamElevationCenter, beamElevationCenter );
96 
99  DtDEC_ATTRIBUTE( DtFloat32, BeamElevationSweep, beamElevationSweep );
100 
102  DtDEC_ATTRIBUTE( DtU32, BeamFunctionCode, beamFunctionCode );
103 
106  DtDEC_ATTRIBUTE( DtU8, BeamIdentifier, beamIdentifier );
107 
109  DtDEC_ATTRIBUTE( DtFloat32, EffectiveRadiatedPower, effectiveRadiatedPower );
110 
112  DtDEC_ATTRIBUTE( DtFloat32, EmissionFrequency, emissionFrequency );
113 
116  DtDEC_ATTRIBUTE( DtString, EmitterSystemIdentifier, emitterSystemIdentifier );
117 
123  DtDEC_ATTRIBUTE( DtString, EventIdentifier, eventIdentifier );
124 
126  DtDEC_ATTRIBUTE( DtFloat32, FrequencyRange, frequencyRange );
127 
129  DtDEC_ATTRIBUTE( DtFloat32, PulseRepetitionFrequency, pulseRepetitionFrequency );
130 
132  DtDEC_ATTRIBUTE( DtFloat32, PulseWidth, pulseWidth );
133 
135  DtDEC_ATTRIBUTE( DtFloat32, SweepSynch, sweepSynch );
136 
137  /* The following 2 attributes are for Radar Beam Objects only. Should only be
138  set if myBeamType = DtRadarBeam */
139 
142  DtDEC_ATTRIBUTE( bool, HighDensityTrack, highDensityTrack );
143 
146  DtDEC_ATTRIBUTE( std::vector<DtString>, TrackObjectIdentifiers, trackObjectIdentifiers );
147 
148  /* The following 3 attributes are for Jammer Beam Objects only. Should only be
149  set if myBeamType = DtJamBeam */
150 
153  DtDEC_ATTRIBUTE_OVERLOAD( bool, HighDensityJam, highDensityJam, HighDensityTrack );
154 
156  DtDEC_ATTRIBUTE( DtU32, JammingModeSequence, jammingModeSequence );
157 
160  DtDEC_ATTRIBUTE_OVERLOAD( std::vector<DtString>, JammedObjectIdentifiers,
161  jammedObjectIdentifiers, TrackObjectIdentifiers );
162 
164 
165  };
166 
167  typedef std::list<DtEmitterBeamData> DtEmitterBeamList;
168 
169  DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& stream, const DtEmitterBeamData& data );
170  DT_DLL_LIBPORTAL std::ostream& operator << ( std::ostream& stream, const DtEmitterBeamList& container );
171 
172 }
173 
174 void DtPrintAttribute( std::ostream& stream, const char* label,
176 

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)