![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef DtSensorDecoder_H_ 00008 #define DtSensorDecoder_H_ 00009 00010 #if DtHLA 00011 00012 #include "hPhysEntDec.h" 00013 00017 00018 class DT_DLL_VL DtEntityStateRepository; 00019 00025 00026 class DT_DLL_VL DtSensorDecoder : public DtPhysicalEntityDecoder 00027 { 00028 public: 00029 00031 DtSensorDecoder( 00032 DtExerciseConn* exConn, 00033 DtObjClassDesc* classDesc); 00034 00036 virtual ~DtSensorDecoder(); 00037 00039 DtSensorDecoder( 00040 const DtSensorDecoder& orig); 00041 00043 DtSensorDecoder& operator=( 00044 const DtSensorDecoder& orig); 00045 00046 public: 00047 00050 static DtHlaStateDecoder* create( 00051 DtExerciseConn* exConn, 00052 DtObjClassDesc* classDesc); 00053 00054 protected: 00055 00059 void addMyDecoders(); 00060 00062 DtDECLARE_ENTITY_ATTR_DECODER(AntennaRaised); 00063 DtDECLARE_ENTITY_ATTR_DECODER(BlackoutLightsOn); 00064 DtDECLARE_ENTITY_ATTR_DECODER(LightsOn); 00065 DtDECLARE_ENTITY_ATTR_DECODER(InteriorLightsOn); 00066 DtDECLARE_ENTITY_ATTR_DECODER(MissionKill); 00067 }; 00068 00074 #define DtDEFINE_SIMPLE_SENSOR_ATTR_DECODER_WITH_CAST( \ 00075 attrName, netType, mutator, castExpr) \ 00076 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00077 DtSensorDecoder, DtEntityStateRepository, \ 00078 attrName, netType, mutator, castExpr) 00079 00080 #define DtDEFINE_SIMPLE_SENSOR_ATTR_DECODER( \ 00081 attrName, netType, inspector) \ 00082 DtDEFINE_SIMPLE_SENSOR_ATTR_DECODER_WITH_CAST( \ 00083 attrName, netType, inspector, (netType)) 00084 00085 #define DtDEFINE_SENSOR_LIGHT_ATTR_DECODER(attrName, arg1) \ 00086 DtDEFINE_LIGHT_ATTR_DECODER(DtSensorDecoder, attrName, arg1) 00087 00088 #endif 00089 #endif 00090