![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef DtBaseEmitterBeamDecoder_H_ 00010 #define DtBaseEmitterBeamDecoder_H_ 00011 00012 00013 #include "hStateDecoder.h" 00014 00018 00019 class DT_DLL_VL DtEmitterBeamRepository; 00020 00023 #define DtDECLARE_EMITTERBEAM_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtEmitterBeamRepository, attrName) 00025 00031 00032 class DT_DLL_VL DtBaseEmitterBeamDecoder : public DtHlaStateDecoder 00033 { 00034 public: 00035 00037 DtBaseEmitterBeamDecoder( 00038 DtExerciseConn* exConn, 00039 DtObjClassDesc* classDesc); 00040 00042 virtual ~DtBaseEmitterBeamDecoder(); 00043 00045 DtBaseEmitterBeamDecoder(const DtBaseEmitterBeamDecoder& orig); 00046 00048 DtBaseEmitterBeamDecoder& operator= 00049 (const DtBaseEmitterBeamDecoder& orig); 00050 00051 public: 00052 00054 static DtHlaStateDecoder* create( 00055 DtExerciseConn* exConn, 00056 DtObjClassDesc* classDesc); 00057 00058 protected: 00059 00063 void addMyDecoders(); 00064 00066 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamParameterIndex); 00067 DtDECLARE_EMITTERBEAM_ATTR_DECODER(FrequencyRange); 00068 DtDECLARE_EMITTERBEAM_ATTR_DECODER(PulseWidth); 00069 DtDECLARE_EMITTERBEAM_ATTR_DECODER(SweepSynch); 00070 00072 DtDECLARE_EMITTERBEAM_ATTR_DECODER(AzimuthCenter); 00073 DtDECLARE_EMITTERBEAM_ATTR_DECODER(AzimuthSweep); 00074 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamFunction); 00075 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamID); 00076 DtDECLARE_EMITTERBEAM_ATTR_DECODER(ElevationCenter); 00077 DtDECLARE_EMITTERBEAM_ATTR_DECODER(ElevationSweep); 00078 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EmittingSystemID); 00079 DtDECLARE_EMITTERBEAM_ATTR_DECODER(ERP); 00080 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EntityID); 00081 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EventID); 00082 DtDECLARE_EMITTERBEAM_ATTR_DECODER(Frequency); 00083 DtDECLARE_EMITTERBEAM_ATTR_DECODER(PRF); 00084 00086 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamAzimuthCenter); 00087 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamAzimuthSweep); 00088 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamFunctionCode); 00089 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamIdentifier); 00090 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamElevationCenter); 00091 DtDECLARE_EMITTERBEAM_ATTR_DECODER(BeamElevationSweep); 00092 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EmitterSystemIdentifier); 00093 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EffectiveRadiatedPower); 00094 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EventIdentifier); 00095 DtDECLARE_EMITTERBEAM_ATTR_DECODER(EmissionFrequency); 00096 DtDECLARE_EMITTERBEAM_ATTR_DECODER(PulseRepetitionFrequency); 00097 }; 00098 00104 #define DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_DECODER_WITH_CAST( \ 00105 attrName, netType, mutator, castExpr) \ 00106 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00107 DtBaseEmitterBeamDecoder, DtEmitterBeamRepository, \ 00108 attrName, netType, mutator, castExpr) 00109 00110 #define DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_DECODER( \ 00111 attrName, netType, inspector) \ 00112 DtDEFINE_SIMPLE_BASE_EMITTERBEAM_ATTR_DECODER_WITH_CAST( \ 00113 attrName, netType, inspector, (netType)) 00114 00115 #endif //DtBaseEmitterBeamDecoder_H_ 00116 00117 #endif //DtHLA 00118