![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef DtMilitaryEntityDecoder_H_ 00008 #define DtMilitaryEntityDecoder_H_ 00009 00010 #if DtHLA 00011 00012 #include "hPhysEntDec.h" 00013 00014 class DT_DLL_VL DtEntityStateRepository; 00015 00019 00025 00026 class DT_DLL_VL DtMilitaryEntityDecoder : public DtPhysicalEntityDecoder 00027 { 00028 public: 00029 00031 DtMilitaryEntityDecoder( 00032 DtExerciseConn* exConn, 00033 DtObjClassDesc* classDesc); 00034 00036 virtual ~DtMilitaryEntityDecoder(); 00037 00039 DtMilitaryEntityDecoder(const DtMilitaryEntityDecoder& orig); 00040 00042 DtMilitaryEntityDecoder& operator=(const DtMilitaryEntityDecoder& orig); 00043 00044 public: 00045 00048 static DtHlaStateDecoder* create( 00049 DtExerciseConn* exConn, 00050 DtObjClassDesc* classDesc); 00051 00052 protected: 00053 00057 void addMyDecoders(); 00058 00060 DtDECLARE_ENTITY_ATTR_DECODER(AlternateEntityType); 00061 DtDECLARE_ENTITY_ATTR_DECODER(CamouflageType); 00062 DtDECLARE_ENTITY_ATTR_DECODER(FirePowerDisabled); 00063 DtDECLARE_ENTITY_ATTR_DECODER(ForceID); 00064 DtDECLARE_ENTITY_ATTR_DECODER(IsConcealed); 00065 }; 00066 00072 #define DtDEFINE_SIMPLE_MIL_ENTITY_ATTR_DECODER_WITH_CAST( \ 00073 attrName, netType, mutator, castExpr) \ 00074 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00075 DtMilitaryEntityDecoder, DtEntityStateRepository, \ 00076 attrName, netType, mutator, castExpr) 00077 00078 #define DtDEFINE_SIMPLE_MIL_ENTITY_ATTR_DECODER( \ 00079 attrName, netType, inspector) \ 00080 DtDEFINE_SIMPLE_MIL_ENTITY_ATTR_DECODER_WITH_CAST( \ 00081 attrName, netType, inspector, (netType)) 00082 00083 #endif 00084 #endif 00085