VR-Link API Documentation for HLA 1516
hBaseEmittrEnc.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 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 

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)