![]() |
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 DtRadarBeamDecoder_H_ 00010 #define DtRadarBeamDecoder_H_ 00011 00012 00013 #include "hBaseEmittrDec.h" 00014 00018 00019 class DT_DLL_VL DtEmitterBeamRepository; 00020 00023 #define DtDECLARE_RADARBEAM_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtEmitterBeamRepository, attrName) 00025 00030 00031 class DT_DLL_VL DtRadarBeamDecoder : public DtBaseEmitterBeamDecoder 00032 { 00033 public: 00034 00036 DtRadarBeamDecoder( 00037 DtExerciseConn* exConn, 00038 DtObjClassDesc* classDesc); 00039 00041 virtual ~DtRadarBeamDecoder(); 00042 00044 DtRadarBeamDecoder(const DtRadarBeamDecoder& orig); 00045 00047 DtRadarBeamDecoder& operator=(const DtRadarBeamDecoder& orig); 00048 00049 public: 00050 00052 static DtHlaStateDecoder* create( 00053 DtExerciseConn* exConn, 00054 DtObjClassDesc* classDesc); 00055 00056 protected: 00057 00061 void addMyDecoders(); 00062 00064 DtDECLARE_RADARBEAM_ATTR_DECODER(TrackObjectIDs); 00065 DtDECLARE_RADARBEAM_ATTR_DECODER(TrackObjectIdentifiers); 00066 DtDECLARE_RADARBEAM_ATTR_DECODER(HighDensityTrack); 00067 00068 DtDECLARE_RADARBEAM_ATTR_DECODER(TrackObjectIdentifiers_RPR20); 00069 }; 00070 00076 #define DtDEFINE_SIMPLE_RADARBEAM_ATTR_DECODER_WITH_CAST( \ 00077 attrName, netType, mutator, castExpr) \ 00078 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00079 DtRadarBeamDecoder, DtEmitterBeamRepository, \ 00080 attrName, netType, mutator, castExpr) 00081 00082 #define DtDEFINE_SIMPLE_RADARBEAM_ATTR_DECODER( \ 00083 attrName, netType, inspector) \ 00084 DtDEFINE_SIMPLE_RADARBEAM_ATTR_DECODER_WITH_CAST( \ 00085 attrName, netType, inspector, (netType)) 00086 00087 #endif //DtRadarBeamDecoder_H_ 00088 00089 #endif //DtHLA 00090