VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
baseEmitterBeamEncoder.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #if DtHLA
8 
9 #ifndef DtBaseEmitterBeamEncoder_H_
10 #define DtBaseEmitterBeamEncoder_H_
11 
12 
13 #include "hlaStateEncoder.h"
14 
18 
19 
20 
21 //These constants are probably bogus since I could not find out
22 //their actual value in either the RPR FOM spec or the DIS spec.
23 //This means the checker function will always update whenever there
24 //is a change in their values - RAF.
26 
27 #define EE_AZ_THRSH 0.0
28 #define EE_EL_THRSH 0.0
29 #define EE_FREQ_THRSH 0.0
30 #define EE_FRNG_THRSH 0.0
31 #define EE_PRF_THRSH 0.0
32 #define EE_PW_THRSH 0.0
33 
34 
36 
39 #define DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(attrName) \
40  DtDECLARE_ATTR_CHECKER(DtEmitterBeamRepository, attrName)
41 
44 #define DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(attrName) \
45  DtDECLARE_ATTR_ENCODER(DtEmitterBeamRepository, attrName)
46 
47 
52 class DT_DLL_VL DtBaseEmitterBeamEncoder : public DtHlaStateEncoder
53 {
54 public:
55 
57  DtBaseEmitterBeamEncoder(
58  DtExerciseConn* exConn,
59  DtObjClassDesc* classDesc);
60 
62  virtual ~DtBaseEmitterBeamEncoder();
63 
65  DtBaseEmitterBeamEncoder(const DtBaseEmitterBeamEncoder& orig);
66 
68  DtBaseEmitterBeamEncoder& operator=(const DtBaseEmitterBeamEncoder& orig);
69 
70 public:
71 
73  static DtHlaStateEncoder* create(
74  DtExerciseConn* exConn,
75  DtObjClassDesc* classDesc);
76 
77 protected:
78 
79  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamParameterIndex);
80  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(FrequencyRange);
81  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(PulseWidth);
82  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(SweepSynch);
84  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(AzimuthCenter);
85  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(AzimuthSweep);
86  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamFunction);
87  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamID);
88  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(ElevationCenter);
89  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(ElevationSweep);
90  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EmittingSystemID);
91  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(ERP);
92  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EntityID);
93  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EventID);
94  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(Frequency);
95  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(PRF);
97  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamAzimuthCenter);
98  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamAzimuthSweep);
99  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamFunctionCode);
100  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamIdentifier);
101  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamElevationCenter);
102  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamElevationSweep);
103  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EmitterSystemIdentifier);
104  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EffectiveRadiatedPower);
105  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EventIdentifier);
106  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EmissionFrequency);
107  DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(PulseRepetitionFrequency);
108 
109  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamParameterIndex);
110  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(FrequencyRange);
111  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(PulseWidth);
112  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(SweepSynch);
114  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(AzimuthCenter);
115  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(AzimuthSweep);
116  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamFunction);
117  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamID);
118  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(ElevationCenter);
119  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(ElevationSweep);
120  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EmittingSystemID);
121  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(ERP);
122  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EntityID);
123  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EventID);
124  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(Frequency);
125  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(PRF);
127  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamAzimuthCenter);
128  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamAzimuthSweep);
129  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamFunctionCode);
130  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamIdentifier);
131  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamElevationCenter);
132  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamElevationSweep);
133  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EmitterSystemIdentifier);
134  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EffectiveRadiatedPower);
135  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EventIdentifier);
136  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EmissionFrequency);
137  DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(PulseRepetitionFrequency);
138 };
139 
145 #define DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_ENCODER( \
146  attrName, netType, inspector) \
147  DtDEFINE_SIMPLE_ATTR_ENCODER(DtBaseEmitterBeamEncoder, \
148  DtEmitterBeamRepository, \
149  attrName, netType, inspector)
150 
156 #define DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_CHECKER( \
157  attrName, inspector) \
158  DtDEFINE_SIMPLE_ATTR_CHECKER(DtBaseEmitterBeamEncoder, \
159  DtEmitterBeamRepository, \
160  attrName, inspector)
161 
162 #endif //DtBaseEmitterBeamEncoder_H_
163 
164 #endif //DtHLA
165 

Document ID: Generated on Mon Feb 6 18:36:34 EST 2017 from SVN revision 173107
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)