VR-Exchange 2.1 API Documentation
emitterBeamData.h
Go to the documentation of this file.
1 /******************************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3 ******************************************************************************/
4 
5 
6 #ifndef emitterBeamData_H_
7 #define emitterBeamData_H_
8 
20 
21 /* VR-Exchange header files */
22 
23 #include <namespace.h>
24 #include <portal/addAttribute.h>
25 
26 /* VR-Link header files */
27 #include <vlutil/vlString.h> //DtString
28 
29 #include <iosfwd>
30 #include <list>
31 #include <vector>
32 
33 namespace MAKVrExchange {
34 
45 {
46 public:
47 
53  typedef enum
54  {
55  RegularBeam = -1,
56  RadarBeam = 1,
57  TrackBeam = 1,
58  JamBeam = 0
59  } BeamType;
60 
61  DtEmitterBeamData( const BeamType beamType = RegularBeam );
62 
64 
65  DtEmitterBeamData( const DtEmitterBeamData& original );
66 
67  DtEmitterBeamData& operator=( const DtEmitterBeamData& original );
68 
69  bool operator==( const DtEmitterBeamData& rightOperand ) const;
70  bool operator!=( const DtEmitterBeamData& rightOperand ) const;
71 
73  virtual std::ostream& printDataToStream( std::ostream& stream ) const;
74 
79 
80  DtDEC_ATTRIBUTE( DtU32, BeamType, beamType ); //required!
81 
82  DtDEC_ATTRIBUTE( DtU16, BeamParameterIndex, beamParameterIndex );
83 
84  /* The next 4 attributes constitute the Scan Volume */
85 
88  DtDEC_ATTRIBUTE( DtFloat32, BeamAzimuthCenter, beamAzimuthCenter );
89 
92  DtDEC_ATTRIBUTE( DtFloat32, BeamAzimuthSweep, beamAzimuthSweep );
93 
96  DtDEC_ATTRIBUTE( DtFloat32, BeamElevationCenter, beamElevationCenter );
97 
100  DtDEC_ATTRIBUTE( DtFloat32, BeamElevationSweep, beamElevationSweep );
101 
103  DtDEC_ATTRIBUTE( DtU32, BeamFunctionCode, beamFunctionCode );
104 
107  DtDEC_ATTRIBUTE( DtU8, BeamIdentifier, beamIdentifier );
108 
110  DtDEC_ATTRIBUTE( DtFloat32, EffectiveRadiatedPower, effectiveRadiatedPower );
111 
113  DtDEC_ATTRIBUTE( DtFloat32, EmissionFrequency, emissionFrequency );
114 
117  DtDEC_ATTRIBUTE( DtString, EmitterSystemIdentifier, emitterSystemIdentifier );
118 
124  DtDEC_ATTRIBUTE( DtString, EventIdentifier, eventIdentifier );
125 
127  DtDEC_ATTRIBUTE( DtFloat32, FrequencyRange, frequencyRange );
128 
130  DtDEC_ATTRIBUTE( DtFloat32, PulseRepetitionFrequency, pulseRepetitionFrequency );
131 
133  DtDEC_ATTRIBUTE( DtFloat32, PulseWidth, pulseWidth );
134 
136  DtDEC_ATTRIBUTE( DtFloat32, SweepSynch, sweepSynch );
137 
138  /* The following 2 attributes are for Radar Beam Objects only. Should only be
139  set if myBeamType = DtRadarBeam */
140 
143  DtDEC_ATTRIBUTE( bool, HighDensityTrack, highDensityTrack );
144 
147  DtDEC_ATTRIBUTE( std::vector<DtString>, TrackObjectIdentifiers, trackObjectIdentifiers );
148 
149  /* The following 3 attributes are for Jammer Beam Objects only. Should only be
150  set if myBeamType = DtJamBeam */
151 
154  DtDEC_ATTRIBUTE_OVERLOAD( bool, HighDensityJam, highDensityJam, HighDensityTrack );
155 
157  DtDEC_ATTRIBUTE( DtU32, JammingModeSequence, jammingModeSequence );
158 
161  DtDEC_ATTRIBUTE_OVERLOAD( std::vector<DtString>,
162  JammedObjectIdentifiers,
163  jammedObjectIdentifiers,
164  TrackObjectIdentifiers );
166 
168 private:
169 
170 }; //end DtEmitterBeamData
171 
172 typedef std::list< DtEmitterBeamData > DtEmitterBeamList;
173 
174 DT_DLL_LIBPORTAL std::ostream& operator<<( std::ostream& stream, const DtEmitterBeamData& data );
175 DT_DLL_LIBPORTAL std::ostream& operator<<( std::ostream& stream, const DtEmitterBeamList& container );
176 
177 }
178 
179 void DtPrintAttribute( std::ostream& stream,
180  const char* label,
182 
184 
185 #endif //end #ifndef emitterBeamData_H_

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)