VR-Link API Documentation for HLA 1.3
hBaseEmittrDec.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)