![]() |
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 hEnvObjEnc_H_ 00010 #define hEnvObjEnc_H_ 00011 00012 00013 #include "hStateEncoder.h" 00014 00018 00019 class DT_DLL_VL DtEnvironmentObjectRepository; 00020 00023 #define DtDECLARE_ENVIRONMENTOBJ_ATTR_CHECKER(attrName) \ 00024 DtDECLARE_ATTR_CHECKER(DtEnvironmentObjectRepository, attrName) 00025 00028 #define DtDECLARE_ENVIRONMENTOBJ_ATTR_ENCODER(attrName) \ 00029 DtDECLARE_ATTR_ENCODER(DtEnvironmentObjectRepository, attrName) 00030 00035 00036 class DT_DLL_VL DtEnvironmentObjectEncoder : public DtHlaStateEncoder 00037 { 00038 public: 00039 00041 DtEnvironmentObjectEncoder( 00042 DtExerciseConn* exConn, 00043 DtObjClassDesc* classDesc); 00044 00046 virtual ~DtEnvironmentObjectEncoder(); 00047 00049 DtEnvironmentObjectEncoder(const DtEnvironmentObjectEncoder& orig); 00050 00052 DtEnvironmentObjectEncoder& operator=(const DtEnvironmentObjectEncoder& orig); 00053 00054 public: 00055 00057 static DtHlaStateEncoder* create( 00058 DtExerciseConn* exConn, 00059 DtObjClassDesc* classDesc); 00060 00061 protected: 00062 00064 DtDECLARE_ENVIRONMENTOBJ_ATTR_CHECKER(ObjectIdentifier); 00065 DtDECLARE_ENVIRONMENTOBJ_ATTR_CHECKER(ReferencedObjectIdentifier); 00066 DtDECLARE_ENVIRONMENTOBJ_ATTR_CHECKER(ForceIdentifier); 00067 DtDECLARE_ENVIRONMENTOBJ_ATTR_CHECKER(ObjectType); 00068 00069 DtDECLARE_ENVIRONMENTOBJ_ATTR_ENCODER(ObjectIdentifier); 00070 DtDECLARE_ENVIRONMENTOBJ_ATTR_ENCODER(ReferencedObjectIdentifier); 00071 DtDECLARE_ENVIRONMENTOBJ_ATTR_ENCODER(ForceIdentifier); 00072 DtDECLARE_ENVIRONMENTOBJ_ATTR_ENCODER(ObjectType); 00073 }; 00074 00080 #define DtDEFINE_SIMPLE_ENVIRONMENTOBJ_ATTR_ENCODER( \ 00081 attrName, netType, inspector) \ 00082 DtDEFINE_SIMPLE_ATTR_ENCODER(DtEnvironmentObjectEncoder, \ 00083 DtEnvironmentObjectRepository, \ 00084 attrName, netType, inspector) 00085 00091 #define DtDEFINE_SIMPLE_ENVIRONMENTOBJ_ATTR_CHECKER( \ 00092 attrName, inspector) \ 00093 DtDEFINE_SIMPLE_ATTR_CHECKER(DtEnvironmentObjectEncoder, \ 00094 DtEnvironmentObjectRepository, \ 00095 attrName, inspector) 00096 00097 #endif //hEnvObjEnc_H_ 00098 00099 #endif //DtHLA 00100