![]() |
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 DtBaseEmbeddedSystemDecoder_H_ 00010 #define DtBaseEmbeddedSystemDecoder_H_ 00011 00012 00013 #include "hStateDecoder.h" 00014 00018 00019 class DT_DLL_VL DtEmbeddedSystemRepository; 00020 00023 #define DtDECLARE_EMBEDSYS_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtEmbeddedSystemRepository, attrName) 00025 00032 class DT_DLL_VL DtBaseEmbeddedSystemDecoder : public DtHlaStateDecoder 00033 { 00034 public: 00035 00037 DtBaseEmbeddedSystemDecoder( 00038 DtExerciseConn* exConn, 00039 DtObjClassDesc* classDesc); 00040 00042 virtual ~DtBaseEmbeddedSystemDecoder(); 00043 00045 DtBaseEmbeddedSystemDecoder(const DtBaseEmbeddedSystemDecoder& orig); 00046 00048 DtBaseEmbeddedSystemDecoder& operator= 00049 (const DtBaseEmbeddedSystemDecoder& orig); 00050 00051 public: 00052 00054 static DtHlaStateDecoder* create( 00055 DtExerciseConn* exConn, 00056 DtObjClassDesc* classDesc); 00057 00058 protected: 00059 00063 void addMyDecoders(); 00064 00066 DtDECLARE_EMBEDSYS_ATTR_DECODER(RelativePosition); 00067 00069 DtDECLARE_EMBEDSYS_ATTR_DECODER(EntityID); 00070 DtDECLARE_EMBEDSYS_ATTR_DECODER(HostObjectID); 00072 DtDECLARE_EMBEDSYS_ATTR_DECODER(EntityIdentifier); 00073 DtDECLARE_EMBEDSYS_ATTR_DECODER(HostObjectIdentifier); 00074 }; 00075 00081 #define DtDEFINE_SIMPLE_BASE_EMBEDSYS_ATTR_DECODER_WITH_CAST( \ 00082 attrName, netType, mutator, castExpr) \ 00083 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00084 DtBaseEmbeddedSystemDecoder, DtEmbeddedSystemRepository, \ 00085 attrName, netType, mutator, castExpr) 00086 00087 #define DtDEFINE_SIMPLE_BASE_EMBEDSYS_ATTR_DECODER( \ 00088 attrName, netType, inspector) \ 00089 DtDEFINE_SIMPLE_BASE_EMBEDSYS_ATTR_DECODER_WITH_CAST( \ 00090 attrName, netType, inspector, (netType)) 00091 00092 #endif //DtBaseEmbeddedSystemDecoder_H_ 00093 00094 #endif //DtHLA 00095