![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #if DtHLA 00008 00009 #ifndef hEnvObjDec_H_ 00010 #define hEnvObjDec_H_ 00011 00012 00013 #include "hBaseEmbedDec.h" 00014 00018 00019 class DT_DLL_VL DtEnvironmentObjectRepository; 00020 00023 #define DtDECLARE_ENVIRONMENTOBJ_ATTR_DECODER(attrName) \ 00024 DtDECLARE_ATTR_DECODER(DtEnvironmentObjectRepository, attrName) 00025 00030 00031 class DT_DLL_VL DtEnvironmentObjectDecoder : public DtHlaStateDecoder 00032 { 00033 public: 00034 00036 DtEnvironmentObjectDecoder( 00037 DtExerciseConn* exConn, 00038 DtObjClassDesc* classDesc); 00039 00041 virtual ~DtEnvironmentObjectDecoder(); 00042 00044 DtEnvironmentObjectDecoder(const DtEnvironmentObjectDecoder& orig); 00045 00047 DtEnvironmentObjectDecoder& operator= 00048 (const DtEnvironmentObjectDecoder& orig); 00049 00050 public: 00051 00053 static DtHlaStateDecoder* create( 00054 DtExerciseConn* exConn, 00055 DtObjClassDesc* classDesc); 00056 00057 protected: 00060 DtDECLARE_ENVIRONMENTOBJ_ATTR_DECODER(ObjectIdentifier); 00061 DtDECLARE_ENVIRONMENTOBJ_ATTR_DECODER(ReferencedObjectIdentifier); 00062 DtDECLARE_ENVIRONMENTOBJ_ATTR_DECODER(ForceIdentifier); 00063 DtDECLARE_ENVIRONMENTOBJ_ATTR_DECODER(ObjectType); 00064 }; 00065 00071 #define DtDEFINE_SIMPLE_ENVIRONMENTOBJ_ATTR_DECODER_WITH_CAST( \ 00072 attrName, netType, mutator, castExpr) \ 00073 DtDEFINE_SIMPLE_ATTR_DECODER_WITH_CAST( \ 00074 DtEnvironmentObjectDecoder, DtEnvironmentObjectRepository, \ 00075 attrName, netType, mutator, castExpr) 00076 00077 #define DtDEFINE_SIMPLE_ENVIRONMENTOBJ_ATTR_DECODER( \ 00078 attrName, netType, inspector) \ 00079 DtDEFINE_SIMPLE_ENVIRONMENTOBJ_ATTR_DECODER_WITH_CAST( \ 00080 attrName, netType, inspector, (netType)) 00081 00082 #endif //hEnvObjDec_H_ 00083 00084 #endif //DtHLA 00085