![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef hPointObjDec_H_ 00010 #define hPointObjDec_H_ 00011 00012 00013 #include "hEnvObjDec.h" 00014 00018 00019 class DT_DLL_VL DtPointObjectRepository; 00020 00023 #define DtDECLARE_POINT_OBJ_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtPointObjectRepository, attrName) 00025 00030 00031 class DT_DLL_VL DtPointObjectDecoder : public DtEnvironmentObjectDecoder 00032 { 00033 public: 00034 00036 DtPointObjectDecoder( 00037 DtExerciseConn* exConn, 00038 DtObjClassDesc* classDesc); 00039 00041 virtual ~DtPointObjectDecoder(); 00042 00044 DtPointObjectDecoder(const DtPointObjectDecoder& orig); 00045 00047 DtPointObjectDecoder& operator= 00048 (const DtPointObjectDecoder& orig); 00049 00050 public: 00051 00053 static DtHlaStateDecoder* create( 00054 DtExerciseConn* exConn, 00055 DtObjClassDesc* classDesc); 00056 00057 protected: 00058 00062 void addMyDecoders(); 00063 00066 DtDECLARE_POINT_OBJ_ATTR_DECODER(Location); 00067 DtDECLARE_POINT_OBJ_ATTR_DECODER(Orientation); 00068 DtDECLARE_POINT_OBJ_ATTR_DECODER(PercentComplete); 00069 DtDECLARE_POINT_OBJ_ATTR_DECODER(DamagedAppearance); 00070 DtDECLARE_POINT_OBJ_ATTR_DECODER(ObjectPreDistributed); 00071 DtDECLARE_POINT_OBJ_ATTR_DECODER(Deactivated); 00072 DtDECLARE_POINT_OBJ_ATTR_DECODER(Smoking); 00073 DtDECLARE_POINT_OBJ_ATTR_DECODER(Flaming); 00074 }; 00075 00081 #define DtDEFINE_SIMPLE_POINT_OBJ_ATTR_DECODER_WITH_CAST( \ 00082 attrName, netType, mutator, castExpr) \ 00083 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00084 DtPointObjectDecoder, DtPointObjectRepository, \ 00085 attrName, netType, mutator, castExpr) 00086 00087 #define DtDEFINE_SIMPLE_POINT_OBJ_ATTR_DECODER( \ 00088 attrName, netType, inspector) \ 00089 DtDEFINE_SIMPLE_POINT_OBJ_ATTR_DECODER_WITH_CAST( \ 00090 attrName, netType, inspector, (netType)) 00091 00092 #endif //hPointObjDec_H_ 00093 00094 #endif //DtHLA 00095