![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef DtSoldierDecoder_H_ 00008 #define DtSoldierDecoder_H_ 00009 00010 #if DtHLA 00011 00012 #include "hMilEntDec.h" 00013 00017 00018 class DT_DLL_VL DtEntityStateRepository; 00019 00025 00026 class DT_DLL_VL DtSoldierDecoder : public DtMilitaryEntityDecoder 00027 { 00028 public: 00029 00031 DtSoldierDecoder( 00032 DtExerciseConn* exConn, 00033 DtObjClassDesc* classDesc); 00034 00036 virtual ~DtSoldierDecoder(); 00037 00039 DtSoldierDecoder(const DtSoldierDecoder& orig); 00040 00042 DtSoldierDecoder& operator=(const DtSoldierDecoder& 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(PrimaryWeaponState); 00061 DtDECLARE_ENTITY_ATTR_DECODER(SecondaryWeaponState); 00062 }; 00063 00069 #define DtDEFINE_SIMPLE_SOLDIER_ATTR_DECODER_WITH_CAST( \ 00070 attrName, netType, mutator, castExpr) \ 00071 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00072 DtSoldierDecoder, DtEntityStateRepository, \ 00073 attrName, netType, mutator, castExpr) 00074 00075 #define DtDEFINE_SIMPLE_SOLDIER_ATTR_DECODER( \ 00076 attrName, netType, inspector) \ 00077 DtDEFINE_SIMPLE_SOLDIER_ATTR_DECODER_WITH_CAST( \ 00078 attrName, netType, inspector, (netType)) 00079 00080 #endif 00081 #endif 00082