![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef DtBaseEmitterBeamEncoder_H_ 00010 #define DtBaseEmitterBeamEncoder_H_ 00011 00012 00013 #include "hStateEncoder.h" 00014 00018 00019 00020 00021 //These constants are probably bogus since I could not find out 00022 //their actual value in either the RPR FOM spec or the DIS spec. 00023 //This means the checker function will always update whenever there 00024 //is a change in their values - RAF. 00026 00027 #define EE_AZ_THRSH 0.0 00028 #define EE_EL_THRSH 0.0 00029 #define EE_FREQ_THRSH 0.0 00030 #define EE_FRNG_THRSH 0.0 00031 #define EE_PRF_THRSH 0.0 00032 #define EE_PW_THRSH 0.0 00033 00034 00035 class DT_DLL_VL DtEmitterBeamRepository; 00036 00039 #define DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(attrName) \ 00040 DtDECLARE_ATTR_CHECKER(DtEmitterBeamRepository, attrName) 00041 00044 #define DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(attrName) \ 00045 DtDECLARE_ATTR_ENCODER(DtEmitterBeamRepository, attrName) 00046 00047 00052 class DT_DLL_VL DtBaseEmitterBeamEncoder : public DtHlaStateEncoder 00053 { 00054 public: 00055 00057 DtBaseEmitterBeamEncoder( 00058 DtExerciseConn* exConn, 00059 DtObjClassDesc* classDesc); 00060 00062 virtual ~DtBaseEmitterBeamEncoder(); 00063 00065 DtBaseEmitterBeamEncoder(const DtBaseEmitterBeamEncoder& orig); 00066 00068 DtBaseEmitterBeamEncoder& operator=(const DtBaseEmitterBeamEncoder& orig); 00069 00070 public: 00071 00073 static DtHlaStateEncoder* create( 00074 DtExerciseConn* exConn, 00075 DtObjClassDesc* classDesc); 00076 00077 protected: 00078 00079 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamParameterIndex); 00080 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(FrequencyRange); 00081 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(PulseWidth); 00082 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(SweepSynch); 00084 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(AzimuthCenter); 00085 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(AzimuthSweep); 00086 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamFunction); 00087 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamID); 00088 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(ElevationCenter); 00089 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(ElevationSweep); 00090 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EmittingSystemID); 00091 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(ERP); 00092 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EntityID); 00093 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EventID); 00094 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(Frequency); 00095 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(PRF); 00097 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamAzimuthCenter); 00098 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamAzimuthSweep); 00099 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamFunctionCode); 00100 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamIdentifier); 00101 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamElevationCenter); 00102 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(BeamElevationSweep); 00103 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EmitterSystemIdentifier); 00104 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EffectiveRadiatedPower); 00105 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EventIdentifier); 00106 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(EmissionFrequency); 00107 DtDECLARE_BASE_EMITTERBEAM_ATTR_CHECKER(PulseRepetitionFrequency); 00108 00109 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamParameterIndex); 00110 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(FrequencyRange); 00111 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(PulseWidth); 00112 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(SweepSynch); 00114 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(AzimuthCenter); 00115 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(AzimuthSweep); 00116 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamFunction); 00117 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamID); 00118 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(ElevationCenter); 00119 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(ElevationSweep); 00120 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EmittingSystemID); 00121 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(ERP); 00122 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EntityID); 00123 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EventID); 00124 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(Frequency); 00125 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(PRF); 00127 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamAzimuthCenter); 00128 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamAzimuthSweep); 00129 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamFunctionCode); 00130 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamIdentifier); 00131 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamElevationCenter); 00132 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(BeamElevationSweep); 00133 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EmitterSystemIdentifier); 00134 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EffectiveRadiatedPower); 00135 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EventIdentifier); 00136 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(EmissionFrequency); 00137 DtDECLARE_BASE_EMITTERBEAM_ATTR_ENCODER(PulseRepetitionFrequency); 00138 }; 00139 00145 #define DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_ENCODER( \ 00146 attrName, netType, inspector) \ 00147 DtDEFINE_SIMPLE_ATTR_ENCODER(DtBaseEmitterBeamEncoder, \ 00148 DtEmitterBeamRepository, \ 00149 attrName, netType, inspector) 00150 00156 #define DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_CHECKER( \ 00157 attrName, inspector) \ 00158 DtDEFINE_SIMPLE_ATTR_CHECKER(DtBaseEmitterBeamEncoder, \ 00159 DtEmitterBeamRepository, \ 00160 attrName, inspector) 00161 00162 #endif //DtBaseEmitterBeamEncoder_H_ 00163 00164 #endif //DtHLA 00165